RecyclerView上拉刷新,下拉加载
来源:互联网 发布:淘宝拍视频用什么软件 编辑:程序博客网 时间:2024/06/04 19:25
Activity界面方法
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);mRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.layout_swipe_refresh); initView();//初始化资源id initDataFromServer(1); recycler.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); if (newState == RecyclerView.SCROLL_STATE_IDLE) { int lastVisiblePosition =linearLayoutManager.findLastVisibleItemPosition(); if (lastVisiblePosition >= linearLayoutManager.getItemCount() - 1) { count++; initDataFromServer(count); } }); public void onRefresh() { if(count<1){ initDataFromServer(count); Toast.makeText(MainActivity.this,"已经是最新数据了!",Toast.LENGTH_SHORT).show(); } else{ initDataFromServer(count); Toast.makeText(MainActivity.this,"数据刷新了!",Toast.LENGTH_SHORT).show(); } //数据重新加载完成后,提示数据发生改变,并且设置现在不在刷新 adapter.notifyDataSetChanged(); mRefreshLayout.setRefreshing(false); } });}//调用网络工具类请求网络数据private void initDataFromServer(int index) { HttpUtils http = new HttpUtils(); http.setCallBack(this); //默认的page参数为1 http.NetWorkFromServer(index);}//初始化viewprivate void initView() { //找到资源id tv = (TextView) findViewById(R.id.ttt); recycler = (RecyclerView) findViewById(R.id.recycler); linearLayoutManager = new LinearLayoutManager(this); //设置显示效果为线性 recycler.setLayoutManager(linearLayoutManager);}//通过接口回调返回数据@Overridepublic void callBack(final ResponseBean responseBean) { runOnUiThread(new Runnable() { @Override public void run() { //设置适配器 adapter = new MyRecyclerView(responseBean.data, MainActivity.this); recycler.setAdapter(adapter); } });}
请求网络的工具类
public class HttpUtils { //定义变量用于接收接口对象 private static CallBackResponse callbackResponse; public void setCallBack(CallBackResponse callbackResponse) { this.callbackResponse = callbackResponse; } public void NetWorkFromServer(int page) { String url = "http://www.yulin520.com/a2a/impressApi/news/mergeList?sign=C7548DE604BCB8A17592EFB9006F9265&pageSize=20&gender=2&ts=1871746850&page=" + page; OkHttpClient ok = new OkHttpClient();//创建okhttp对象 //设置url final Request request = new Request.Builder() .url(url) .build(); Call call = ok.newCall(request);//得到call对象 call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { Log.e("TAG","失败了"); } @Override public void onResponse(Call call, Response response) throws IOException { //response.body().string()方法只能使用一次,不然拿不到数据 if (response.isSuccessful() && response.body() != null){ Gson gson = new Gson(); ResponseBean responseBean = gson.fromJson(response.body().string(), ResponseBean.class); callbackResponse.callBack(responseBean); } } }); }}
阅读全文
0 0
- RecyclerView实现上拉加载,下拉刷新
- RecyclerView 下拉刷新上拉加载更多
- RecyclerView实现上拉加载,下拉刷新
- RecyclerView 下拉刷新上拉加载更多
- RecyclerView的上拉加载,下拉刷新
- RecyclerView 下拉刷新和上拉加载
- RecyclerView下拉刷新上拉加载
- RecyclerView下拉刷新上拉加载
- RecyclerView下拉刷新上拉加载
- RecyclerView 下拉刷新、上拉加载更多
- RecyclerView 下拉刷新上拉加载更多
- recyclerView上拉加载,下拉刷新
- RecyclerView上拉刷新,下拉加载更多
- Recyclerview上拉加载下拉刷新
- RecyclerView 下拉刷新上拉加载更多
- RecyclerView上拉刷新,下拉加载
- RecyclerView上拉刷新下拉加载
- RecyclerView 下拉刷新 上拉加载
- HashSet和TreeSet的区别
- 最实用的10个重构小技巧排行榜,您都用过哪些呢?
- POJ 3061 Subsequence
- 登录注册mvp模式
- qqqqqqqqqqqq
- RecyclerView上拉刷新,下拉加载
- chrome插件开发
- springMVC上传,富文本上传和ftp服务器的配置
- 第三部分:Idea重构总结
- 给大家介绍一下,这是twitter的创始人@
- 需要有效的董事会
- python numpy
- VMware Workstation 12 Pro 虚拟机安装步骤详解
- JavaScript高级程序设计 Chapter 7 关于函数、闭包的笔记和理解