PullToRefreshListView简单实现下拉刷新、下拉加载
来源:互联网 发布:淘宝落地页是什么 编辑:程序博客网 时间:2024/05/16 13:51
一、添加Library依赖
implementation project(':library')
二、xml文件
<com.handmark.pulltorefresh.library.PullToRefreshListView android:layout_width="match_parent" android:scrollbars="none" android:layout_height="match_parent" android:id="@+id/lv"/>
三、Activity文件
public class MainActivity extends AppCompatActivity {
//http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=10&page=1
@BindView(R.id.gridview)
PullToRefreshListView lv;
private ArrayList<Bean.DataBean> arrays;
private MyListViewAdapter adapter;
private String path="http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=10&page=";
private int index=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
lv.setMode(PullToRefreshBase.Mode.BOTH);
initView();
}
//http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=10&page=1
@BindView(R.id.gridview)
PullToRefreshListView lv;
private ArrayList<Bean.DataBean> arrays;
private MyListViewAdapter adapter;
private String path="http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=10&page=";
private int index=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
lv.setMode(PullToRefreshBase.Mode.BOTH);
initView();
}
private void initView() {
arrays=new ArrayList<>();
adapter=new MyListViewAdapter(arrays,this);
gridview.setAdapter(adapter);
loadData(index);
lv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<GridView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<GridView> refreshView) {
arrays.clear();
loadData(1);
gridview.postDelayed(new Runnable() {
@Override
public void run() {
lv.onRefreshComplete();
}
},1000);
}
arrays=new ArrayList<>();
adapter=new MyListViewAdapter(arrays,this);
gridview.setAdapter(adapter);
loadData(index);
lv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<GridView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<GridView> refreshView) {
arrays.clear();
loadData(1);
gridview.postDelayed(new Runnable() {
@Override
public void run() {
lv.onRefreshComplete();
}
},1000);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<GridView> refreshView) {
index++;
loadData(index);
gridview.postDelayed(new Runnable() {
@Override
public void run() {
lv.onRefreshComplete();
}
},1000);
}
});
public void onPullUpToRefresh(PullToRefreshBase<GridView> refreshView) {
index++;
loadData(index);
gridview.postDelayed(new Runnable() {
@Override
public void run() {
lv.onRefreshComplete();
}
},1000);
}
});
}
private void loadData(int index) {
new Retrofit.Builder()
.baseUrl("http://www.qubaobei.com/")
.addConverterFactory(GsonConverterFactory.create())
.build().create(NewService.class).GetData(path+index)
.enqueue(new Callback<Bean>() {
@Override
public void onResponse(Call<Bean> call, Response<Bean> response) {
arrays.addAll(response.body().getData());
adapter.notifyDataSetChanged();
}
new Retrofit.Builder()
.baseUrl("http://www.qubaobei.com/")
.addConverterFactory(GsonConverterFactory.create())
.build().create(NewService.class).GetData(path+index)
.enqueue(new Callback<Bean>() {
@Override
public void onResponse(Call<Bean> call, Response<Bean> response) {
arrays.addAll(response.body().getData());
adapter.notifyDataSetChanged();
}
@Override
public void onFailure(Call<Bean> call, Throwable t) {
public void onFailure(Call<Bean> call, Throwable t) {
}
});
}
}
});
}
}
四、Adapter和之前ListView适配器一样,继承BaseAdapter,就不再详细写了
阅读全文
0 0
- PullToRefreshListView简单实现下拉刷新、下拉加载
- PullToRefreshListView刷新下拉加载最简单用法
- PullToRefreshListView实现下拉刷新
- Android中PullToRefreshListView的下拉刷新,下拉加载的实现
- PullToRefreshListView上拉加载,下拉刷新 刷新网络数据 简单实现ListView显示网络数据
- 简单实现标题栏悬浮状态,使用PullToRefreshListView上拉加载下拉刷新
- PullToRefreshListView实现下拉刷新和上拉加载更多
- PullToRefreshListView下拉刷新与上拉加载
- PullToRefreshListView 下拉刷新上拉加载
- PullToRefreshListView上拉加载更多,下拉刷新
- PullToRefreshListView上拉加载下拉刷新
- PullToRefreshListView上拉刷新,下拉加载
- PullToRefreshListView下拉刷新
- PullToRefreshListView多条目加载上拉刷新下拉加载
- 简单实现下拉刷新-----
- 使用SwipeRefreshLayout和自定义的PullToReFreshListView实现下拉刷新和上拉加载更多
- PullToRefreshListView下拉刷新和上拉加载更多使用方法
- PullToRefreshListView进阶(三)----->上拉加载、下拉刷新!
- CSAPP Note chap3 attacklab
- Android Java层事件传递
- 树莓派网页校园网自动登陆
- ORACLE DIRECTORY目录管理
- OKHTTP上传下载
- PullToRefreshListView简单实现下拉刷新、下拉加载
- 02全志R16平台tinav2.1系统下的开机自启动脚本的创建(分色排版)V1.1
- solr搜索
- 笔记二:客户端输入,服务端检测用户密码是否正确
- 自动登录的设计思路
- easyui下拉框值改变
- C# 虚函数,多态( virtual,override )
- BZOJ 3289 Mato的文件管理(莫队+线段树/树状数组)
- uip协议栈