加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Android之PullToRefresh的使用方法

发布时间:2020-12-14 23:20:17 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 android studio 导入 PullToRefresh // 下载https://github.com/chrisbanes/Android-PullToRefresh// 解压,得到 extras,sample,library(主要)Andro

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

android studio 导入 PullToRefresh

// 下载
https://github.com/chrisbanes/Android-PullToRefresh
// 解压,得到 extras,sample,library(主要)
Android-PullToRefresh-master -> library
// 在你项目的根目录创建一个lib目录
[PATH]
[app]
    [src]
    [res]
    [build]
    build.gradle
    ...
[build]
[gradle]
[lib]
    // 将 library 重名名为 pull
    [pull]
        [src]
        [res]
        [build]
        ... 
build.gradle
settings.gradle
...
// 修改 settings.gradle 
include ':app',':lib:pull'
// 修改 [app]/build.gradle
dependencies {
    // Library
    compile project(':lib:pull')
}
// 创建 [lib]/[pull]/build.gradle
apply plugin: 'android-library'
android {
    compileSdkVersion 17
    buildToolsVersion "21.1.2"
    sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['aidl']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }
    }
}
// 完成 

使用 PullToRefresh 刷新 ListView

//  在 activity_main.xml 增加一个 PullToRefreshListView
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <com.handmark.pulltorefresh.library.PullToRefreshListView
    android:id="@+id/left_drawer"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:dividerHeight="1px"
    android:divider="#ff000000"
    android:background="#ffffffff"
    android:layout_alignParentTop="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentStart="true" />
</RelativeLayout>
// 在 MainActivity
public class MainActivity extends Activity {
    PullToRefreshListView lv;
    private String[] mListTitle = {"姓名","性别","年龄","居住地","邮箱"};
    private String[] mListStr = {"雨松MOMO","男","25","北京","[email?protected]"};
    ListView mListView = null;
    ArrayList<Map<String,Object>> mData = new ArrayList<Map<String,Object>>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 获取 PullToRefreshListView View
    lv = (PullToRefreshListView) findViewById(R.id.left_drawer);
    // ....
    int lengh = mListTitle.length;
    for (int i = 0; i < lengh; i++) {
        Map<String,Object> item = new HashMap<String,Object>();
        item.put("title",mListTitle[i]);
        item.put("text",mListStr[i]);
        mData.add(item);
    }
    // ...
    SimpleAdapter adapter = new SimpleAdapter(this,mData,android.R.layout.simple_list_item_2,new String[]{"title","text"},new int[]{android.R.id.text1,android.R.id.text2});
    // 将 SimpleAdapter 设置到 PullToRefreshListView
    lv.setAdapter(adapter);
    // 刷新事件监听
    lv.setOnRefreshListener(new PullToRefreshBase.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;
            }
            @Override
            protected void onPostExecute(Void reslst)
            {
            // 更行内容,通知 PullToRefresh 刷新结束
            lv.onRefreshComplete();
            }
        }.execute();
        }
    });
    }
} 

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读