原文: .Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用

下拉刷新很多地方都用到了,新浪微博,微信,百度新闻

这里我们使用一个开源的库叫:PullToRefresh

开源地址:https://github.com/chenyoca/pull-to-refresh

下载地址:https://github.com/chenyoca/pull-to-refresh/archive/master.zip

解压代码之后通过ecplise导入到项目里面

.Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用_第1张图片

导入之后可能会出现库路径引用错误

在项目右键,依次对库进行修正

.Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用_第2张图片

运行主Activity

.Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用_第3张图片

这时就可以看到效果了!接下来我们自己创建一个项目来使用这个控件

新建一个项目UsingPullToRefresh

.Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用_第4张图片

创建之后要对库进行引用,这有点像C#工程一样,要对程序集进行引用(3个库都要引用)

.Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用_第5张图片

引用完之后会报出一个jar版本不同的错误

.Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用_第6张图片

所以我们要让库和我们的工程的版本一致

.Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用_第7张图片

拷贝libs下的android-support-v4.jar

分别复制到刚引用的3个库中替换libs下的android-support-v4.jar

修改一下MianActivity.java和activity_main.xml的代码

package com.example.usingpulltorefresh;import java.util.ArrayList;import java.util.List;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener;import com.handmark.pulltorefresh.library.PullToRefreshListView;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.os.AsyncTask;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.ListView;import android.os.Build;public class MainActivity extends Activity {    private PullToRefreshListView lv;    private ArrayAdapter<String> adapter;    private List<String> list;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //查找到控件        lv = (PullToRefreshListView) findViewById(R.id.lv);        list= new ArrayList<String>();        list.add("香蕉");        list.add("苹果");                adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);        lv.setAdapter(adapter);                lv.setOnRefreshListener(new OnRefreshListener<ListView>(){            @Override            public void onRefresh(PullToRefreshBase<ListView> refreshView) {                // TODO Auto-generated method stub                new AsyncTask<Void,Void,Void>(){                    @Override                    protected Void doInBackground(Void... arg0) {                        // TODO Auto-generated method stub                        try {                            Thread.sleep(2000);                        } catch (InterruptedException e) {                            // TODO Auto-generated catch block                            e.printStackTrace();                        }                        return null;                    }                                        protected void onPostExecute(Void result){                        adapter.addAll("西瓜","橙子","火龙果");                        lv.onRefreshComplete();                    }                                    }.execute();            }        });    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }    }
MainActivity
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/container"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.example.usingpulltorefresh.MainActivity"    tools:ignore="MergeRootFrame" >    <com.handmark.pulltorefresh.library.PullToRefreshListView        android:id="@+id/lv"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        >    </com.handmark.pulltorefresh.library.PullToRefreshListView></LinearLayout>
activity_main

.Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用_第8张图片.Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用_第9张图片

OK,可以运行了!

直接下载源码:http://pan.baidu.com/s/1mgKBkrI

更多相关文章

  1. Android 分享文本和图片
  2. Android学习笔记_12_网络通信之从web获取资源数据到Android
  3. android从sdcard加载.9.png图片
  4. Android中main.xml界面参数笔记
  5. Android学习笔记(2):Hello world
  6. 剪切图片-扩展android 选择图片(从手机照相机或手机图片)
  7. android Gallery实现加载网络图片
  8. Android使用AsyncTask下载图片,最好使用WeakReference
  9. Android 打开相机、相册获取图片文件,支持Android 9.0系统

随机推荐

  1. QQ For Android试用
  2. Android(安卓)ContentResolver 内容解析
  3. 2020版本Android(安卓)开发者学习路线(热
  4. 基于Android的谷歌地图地理围栏功能开发
  5. 安卓开发中开关按钮ToggleButton和开关Sw
  6. Android类加载器以及与Java类加载器区别
  7. Android的两种数据存储方式分析(二)
  8. android sip协议通话实现
  9. 安卓开发者平台(巨卓网)
  10. android面试一些常见的问题