位置: 编程技术 - 正文

Android学习之开源项目PullToRefresh的使用(android开发最全教程)

编辑:rootadmin

推荐整理分享Android学习之开源项目PullToRefresh的使用(android开发最全教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android开发最全教程,android 开发入门,android开发教学视频,android开发指南,android 开发 教程,最新版android开发视频教程,最新版android开发视频教程,android开发教学视频,内容如对您有帮助,希望把文章链接给更多的朋友!

首先 下载 Android-PullToRefresh-master

下载地址 我们用eclipse 创建一个项目取名PullToRefresh

将上面的library 引入我们的项目

Android学习之开源项目PullToRefresh的使用(android开发最全教程)

引入成功之后打开项目的project.properties文件我们可以看到

android.library.reference.1=../Android-PullToRefresh-master/library

这样就表示可以引用成功了

我们在res/layout创建 布局文件main.xml

view sourceprint?.<?xml version="1.0" encoding="utf-8"?>.<LinearLayout xmlns:android=" >. .<!-- xmlns:ptr = " 为我们要使用PullToRefresh 里面一些属性需要引的命名空间 -->.<com.handmark.pulltorefresh.library.PullToRefreshListView.xmlns:ptr = " MainActivity.java

view sourceprint?.package com.pulltorefresh;. .import java.util.Arrays;.import java.util.LinkedList;. .import android.app.Activity;.import android.os.AsyncTask;.import android.os.Bundle;.import android.widget.ArrayAdapter;.import android.widget.ListView;.import android.widget.Toast;. .import com.handmark.pulltorefresh.library.PullToRefreshBase;.import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;.import com.handmark.pulltorefresh.library.PullToRefreshBase.State;.import com.handmark.pulltorefresh.library.PullToRefreshListView;.import com.handmark.pulltorefresh.library.extras.SoundPullEventListener;. . . .public class MainActivity extends Activity {. . .static final int MENU_MANUAL_REFRESH = 0;.static final int MENU_DISABLE_SCROLL = 1;.static final int MENU_SET_MODE = 2;.static final int MENU_DEMO = 3;. .private LinkedList<String> mListItems;.private PullToRefreshListView mPullRefreshListView;.private ArrayAdapter<String> mAdapter;. .@Override.protected void onCreate(Bundle savedInstanceState) {.super.onCreate(savedInstanceState);.setContentView(R.layout.main);.mPullRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);. . ./**.* 实现 接口 OnRefreshListener2<ListView> 以便与监听 滚动条到顶部和到底部.*/.mPullRefreshListView.setOnRefreshListener(new OnRefreshListener2<ListView>() {.@Override.public void onPullDownToRefresh( PullToRefreshBase<ListView> refreshView) {.Toast.makeText(MainActivity.this, "onPullDownToRefresh", Toast.LENGTH_SHORT).show();.new GetDataTask().execute();.}.@Override.public void onPullUpToRefresh( PullToRefreshBase<ListView> refreshView) {.Toast.makeText(MainActivity.this, "onPullUpToRefresh", Toast.LENGTH_SHORT).show();.new GetDataTask().execute();.}.});. . . .ListView actualListView = mPullRefreshListView.getRefreshableView();. .// Need to use the Actual ListView when registering for Context Menu.registerForContextMenu(actualListView);. .mListItems = new LinkedList<String>();.mListItems.addAll(Arrays.asList(mStrings));. .mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mListItems);. ./**.* Add Sound Event Listener.*/. ./**.* 设置下拉刷新和上拉加载时的 铃声(可有可无).*/.SoundPullEventListener<ListView> soundListener = new SoundPullEventListener<ListView>(this);.soundListener.addSoundEvent(State.PULL_TO_REFRESH, R.raw.pull_event);.soundListener.addSoundEvent(State.RESET, R.raw.reset_sound);.soundListener.addSoundEvent(State.REFRESHING, R.raw.refreshing_sound);.mPullRefreshListView.setOnPullEventListener(soundListener);. .// You can also just use setListAdapter(mAdapter) or.// mPullRefreshListView.setAdapter(mAdapter).actualListView.setAdapter(mAdapter);. . . .}.//模拟网络加载数据的 异步请求类.//.private class GetDataTask extends AsyncTask<Void, Void, String[]> {. .//子线程请求数据.@Override.protected String[] doInBackground(Void... params) {.// Simulates a background job..try {.Thread.sleep();.} catch (InterruptedException e) {.}.return mStrings;.}. .//主线程更新UI.@Override.protected void onPostExecute(String[] result) {. .//向RefreshListView Item 添加一行数据 并刷新ListView.//mListItems.addLast("Added after refresh...");.mListItems.addFirst("Added after refresh...");.mAdapter.notifyDataSetChanged();. .//通知RefreshListView 我们已经更新完成.// Call onRefreshComplete when the list has been refreshed..mPullRefreshListView.onRefreshComplete();. .super.onPostExecute(result);.}.}. . . .//数据源.private String[] mStrings = { "Abbaye de Belloc", "Abbaye du Mont des Cats", "Abertam", "Abondance", "Ackawi",."Acorn", "Adelost", "Affidelice au Chablis", "Afuega'l Pitu", "Airag", "Airedale", "Aisy Cendre",."Allgauer Emmentaler", "Abbaye de Belloc", "Abbaye du Mont des Cats", "Abertam", "Abondance", "Ackawi",."Acorn", "Adelost", "Affidelice au Chablis", "Afuega'l Pitu", "Airag", "Airedale", "Aisy Cendre",."Allgauer Emmentaler" };.}

目前编码已经完成 我们测试一下

[置顶] Android屏幕适配(分辨率适配) 对于刚接触Android的新人和刚走上Android技术岗位的开发者们来说,在熟悉了相关之后,在项目完成后,就会面临着一个重大的挑战,那么就是屏幕适配的

onmeasure被调用了但是onlayout没有被调用 这个是做systemui的时候的一个bug,就是发现打开通知中心后,删除一个通知之后再也接收不到通知了,当然通知删除有个动画。通知列表放在一个scrollVie

android项目目录介绍之二 Devices:显示的是连接到Android开发环境的设备,包括模拟器和手机。Android的错误信息和调试信息都在logcat中打印在Android中,所有资源文件,都会在R.java中

标签: android开发最全教程

本文链接地址:https://www.jiuchutong.com/biancheng/374509.html 转载请保留说明!

上一篇:【Android】Eclipse自动编译NDK/JNI的三种方法(eclipse的android配置)

下一篇:[置顶] Android屏幕适配(分辨率适配)([置顶]游戏名:chivalry2)

  • 注册税务师考试科目
  • 现金流量表现金流量项目明细分类
  • 2020年企业减免
  • 公司支付代账费怎么入账
  • 小规模出租不动产免税吗
  • 出口收入账务处理
  • 旅行社支付导游费怎么算
  • 外企餐补标准
  • 分类账和明细账平行登记规则
  • 公司每年都要纳税吗?
  • 社保补缴上月的在当月扣款
  • 发票联丢失用抵扣联做账可以吗
  • 差额征税发票如何做分录
  • 企业所得税月交还是年交
  • 有没有薪酬
  • 可以自行设计的软件
  • 单位的审计
  • 长期待摊费用原值怎么填
  • 延期申报增值税罚款
  • 增值税当月计提当月交可以吗
  • 1697508513
  • 购买半成品计入什么科目
  • 增值税专用发票和普通发票的区别
  • 购货优惠的会计科目
  • 微信提现手续费最新规定
  • 小米手环2支持nfc功能?
  • 预付账款主要是
  • php中的预定义变量
  • 工伤单位支付
  • 防伪税控风险纳税人
  • 马纳斯古盐田气候特征
  • laravel自带队列效率
  • laravel执行seed命令
  • 长期借款和短期借款的区别是什么
  • php用户登录界面
  • 语义分割入门教程
  • 长期股权投资哪些用成本法
  • 微信转账和支付宝转账的区别
  • 帝国cms数据库如何使用
  • 开票一定要确认收入嘛
  • 非同一控制下的长期股权投资入账价值
  • 支付宝和微信的财务统计
  • 保函分为几种
  • 出口货物预收账款分录
  • 单位租的个人房子需要采集房产税源吗
  • 预付检测费未收到发票
  • 技术转让费如何计算
  • 保教费免征增值税政策
  • 房地产公司房屋租赁管理办法
  • 诉讼财产保全保函
  • 营改增后众筹融资业务的会计处理分析?
  • 年金现值和年金终值的例题
  • 房地产开发打桩
  • 印花税交多了
  • 购买咨询服务费计入什么科目
  • 企业所得税预缴2‰
  • 会计清查是什么意思
  • mysql 5.5 5.6
  • 完美解决MySQL通过localhost无法连接数据库的问题
  • win7怎么设置桌面位置
  • win7系统u口怎么禁用
  • 微软终止代码大全
  • ssh debian
  • win 7操作系统安装
  • ami 2.17.1254bios设置图解教程
  • bios cmos设置
  • windows临时文件在哪里
  • 高县土火锅历史介绍
  • centos设置双网卡
  • macbook 如何设置safari的搜索引擎
  • java gravity
  • jquery使用教程
  • jQuery Checkbox 全选 反选的简单实例
  • [置顶]游戏名:chivalry2
  • 原生javascript
  • js回调函数应用场景
  • 上海烟草集团董事长是谁
  • 郑州市惠济区税务局黄国选
  • 车没交车船税上路什么后果
  • 电信业八大争议事件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设