标签:
打开网址github.com/chrisbanes/Android-PullToRefresh/进行下载
解压后即可导入项目中,这时有四个文件,分别为:LauncherActivity、library、
PullToRefreshListFragment、PullToRefreshViewPager,此时都报错,这是因为
他们引用的类库无效了,直接右键报错的文件,再属性删掉不可用的引用库在重
新引用即可。library由两个PullToXXX引用,两个PullToXXX又由LauncherActivity(案例)引用。
github提供的案例很好,下面练练手:
新建自己的一个小案例(MyRefreshListView),右键项目属性,把以上的上个类库引入,在布局中添加组件:
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:id="@+id/mylv"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
在主类(MainActivity.java)中:
声明:
private PullToRefreshListView lv;
private ArrayAdapter<String> adapter;
在onCreate中:
lv = (PullToRefreshListView) findViewById(R.id.mylv);
List<String> arr = new ArrayList<String>();//对应下面的addAll()
arr.add("飞牛");
arr.add("冲天");
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arr);
lv.setAdapter(adapter);
lv.setOnRefreshListener(new OnRefreshListener<ListView>() {
@Override
public void onRefresh(PullToRefreshBase<ListView> refreshView) {
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}
//操作主线程
@SuppressLint("NewApi")
@Override
protected void onPostExecute(Void result) {
adapter.addAll("欢迎","归来");//上面填充的数据必须要用集合而不是数组
lv.onRefreshComplete();//通知ListView成功加载数据
}
}.execute();
}
});
值得注意的是:在引入类库的后,项目与库的.jar文件要一致,否则报错。
标签:
原文地址:http://www.cnblogs.com/changyinlu/p/4896495.html