PullToRefreshListView下拉刷新与上拉载入
【声明】转载请注明出处。此文出自指尖飞落的博客:http://blog.csdn.net/huntersnail
——尊重作者。知识无价。交流无限!
前言:下拉刷新是Android项目中常常要用到的东西,对于没有经验的开发人员来说。第一次接触确实比較头疼。
网上有非常多可供參考的框架,我用的是GitHub那里下载的一个框架handmark点击打开链接。
这也是我在网上看到大家用得最多的一个框架,当然,非常多大神会不屑一顾,分分钟就自己写出来了。咱不去比那玩意儿,毕竟自己写还须要一点功底的。我想还有非常多是和笔者一样刚入行的。仅供交流。望各大神指教。以下就贴下代码。说一下怎样去用!
1、导库
右键点击项目——>点击Properties——>点击Android——>点击Add加入库——>Ok
2、Activity
package com.example.refreshdemo;import java.util.ArrayList;
import java.util.List;import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode;
import com.handmark.pulltorefresh.library.PullToRefreshListView;import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;public class MainActivity extends Activity {private PullToRefreshListView mPtrlv;private List<String> list;private MyAdapter mAdapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mPtrlv=(PullToRefreshListView) findViewById(R.id.ptrlv);//设置模式,BOTH:上拉下拉//DISABLED:取消上拉下拉//PULL_FROM_END:仅仅上拉//PULL_FROM_START:仅仅下拉mPtrlv.setMode(Mode.BOTH);list=new ArrayList<String>();initData();setListener();mAdapter=new MyAdapter();mPtrlv.setAdapter(mAdapter);}/*** 初始化模拟数据*/private void initData() {for (int i = 0; i < 10; i++) {list.add("模拟数据"+i);}}private void setListener() {mPtrlv.setOnRefreshListener(new OnRefreshListener2<ListView>() {/*** 下拉刷新* 假设须要下拉载入上一页,在这种方法onPullDownToRefresh()做处理*/int x=1;@Overridepublic void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {list.add(0, "下拉刷新<<<上一页:"+x++);//通知数据改变mAdapter.notifyDataSetChanged();new MyTask().execute();}/*** 上拉载入* 假设须要下拉载入上一页,在这种方法onPullUpToRefresh()做处理*/int y=1;@Overridepublic void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {list.add("上拉载入>>>下一页:"+y++);//通知数据改变mAdapter.notifyDataSetChanged();new MyTask().execute();}});}/*** 自己定义适配器* @author Endoon* 2015-7-24 09:23:19*/class MyAdapter extends BaseAdapter{@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int position) {return position;}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {TextView mView=new TextView(getApplicationContext());mView.setText(list.get(position));mView.setTextColor(Color.RED);mView.setGravity(Gravity.CENTER);return mView;}}/*** 异步载入数据* @author Endoon* 2015-7-24 09:23:12*/class MyTask extends AsyncTask<Void, Void, Void>{@Overrideprotected Void doInBackground(Void... params) {return null;}@Overrideprotected void onPostExecute(Void result) {super.onPostExecute(result);//Mark the current Refresh as complete. Will Reset the UI and hide the Refreshing ViewmPtrlv.onRefreshComplete();//刷新UI}};
}
3、Xml文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity" ><com.handmark.pulltorefresh.library.PullToRefreshListViewandroid:id="@+id/ptrlv"android:layout_width="fill_parent"android:layout_height="fill_parent"></com.handmark.pulltorefresh.library.PullToRefreshListView></RelativeLayout>
4、效果图
源代码和库下载地址:点击打开链接
O(∩_∩)O哈哈~欢迎各种吐槽、歧视、不吝赐教、交流......
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆转载请注明出处☞指尖飞落的博客☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
转载于:https://www.cnblogs.com/jzdwajue/p/7095902.html
PullToRefreshListView下拉刷新与上拉载入相关推荐
- Android ListView下拉刷新、上拉载入更多
找下拉刷新,上拉加载的demo找了好久,踩找到这个相对完美的.所以分享给大家 https://github.com/Maxwin-z/XListView-Android 0. XListView继承L ...
- ListView下拉刷新、上拉载入更多之封装改进
在Android中ListView下拉刷新.上拉载入更多示例一文中,Maxwin兄给出的控件比较强大,前面有详细介绍,但是有个不足就是,里面使用了一些资源文件,包括图片,String,layout,这 ...
- 【Android归纳】基于XListView的下拉刷新、上拉加载更多的控件分析
目录 前言 功能介绍 总体设计 组成 类关系图 详细设计 XlistViewHeader原理分析 XListViewFooter原理分析 XListView原理分析 代码带注释下载 目录 前言 如果你 ...
- 下拉刷新及上拉加载更多的ListView
PullToRefreshListView 自定义ListView 带简洁的下拉刷新及上拉加载更多功能 PullToRefreshListView 实现过程 使用方法 GIF效果 结束语 实现过程 继 ...
- 安卓下拉刷新、上拉加载数据显示
整个是一个scrollView,嵌套一个线性布局,下拉刷新.或者上拉加载后,通过addView()方法,加载消息体,每一个消息体是一个复杂的子view. 做一个类似qq客户端"好友动态&qu ...
- Flutter ListView封装,下拉刷新、上拉加载更多
Flutter ListView封装,下拉刷新.上拉加载更多 封装了Flutter的ListView,只要传递请求数据的方法和绘制item的方法进去就可以绘制ListView,同时支持下拉刷新.上 ...
- 使用MUI框架,模拟手机端的下拉刷新,上拉加载操作。
套用mui官方文档的一句话:"开发者只需关心业务逻辑,实现加载更多数据即可".真的是不错的框架. 想更多的了解这个框架:http://dev.dcloud.net.cn/mui/ ...
- vue使用better-scroll实现下拉刷新、上拉加载
本文目的是为了实现列表的下拉刷新.上拉加载,所以选择了better-scroll这个库. 用好这个库,需要理解下面说明 必须包含两个大的div,外层和内层div 外层div设置可视的大小(宽或者高)- ...
- vue better-scroll 使用 下拉刷新、上拉加载
我的目的是为了实现列表的下拉刷新.上拉加载,所以选择了better-scroll这个库. 用好这个库,需要理解下面说明 必须包含两个大的div,外层和内层div 外层div设置可视的大小(宽或者高)- ...
- vant实现下拉刷新和上拉加载_微信小程序 - 实现下拉刷新、上拉加载
在小程序开发中使用下拉刷新和上拉加载非常多,比如常用的展示型首页,而实现这个功能有两种形式,第一种是使用 scroll-view 组件,第二种是不使用 scroll-view 组件而让整个页面刷新,那 ...
最新文章
- Cell Reports:张瑞福团队揭示抗生素调控微生物肥料菌种根表定殖成膜的新机制...
- 循环数组函数c语言,C语言练习题2(分支结构循环结构数组函数2009-2012二级真题)..doc...
- java search 不能使用方法_elasticsearch(七)java 搜索功能Search Request的介绍与使用...
- LeetCode 11盛水最多的容器12整数转罗马数字
- Selenium模拟光标进入和tab键移动
- ios学习笔记block回调的应用(一个简单的例子)
- Python将浏览器cookies共享给requests库
- Magic Maze dfs + dp
- Docker学习总结(65)—— 容器引擎 Docker 与 Podman 的详细对比分析
- SSM-水果商城-导入项目-学习-2
- 580显卡驱动_越贵的显卡越好吗?顶级AMD RX580功耗超过200W,RMB只买了外观?
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_4字符输出流的基本使用_写出单个字符...
- 在Java中使用Rserve调用R
- linux centos7 配置ftp,Linux Centos7配置ftp服务器
- 穿越机用途和机架尺寸
- win11卸载软件在哪里?
- [K/3Cloud]关于选单操作
- 删除dataframe中的某行 删除不掉是为啥
- php js变量值sql_php 变量查询数据库
- php 精品课程,基于PHP的精品课程教学网站