RecycleView原生添加上拉加载
来源:互联网 发布:ubuntu trusty 源 编辑:程序博客网 时间:2024/06/05 19:35
RecycleView添加上拉刷新
private void initRecycleView(List<Music.SongListBean> list_bean) { final LinearLayoutManager layoutManager = new LinearLayoutManager(this); main_recycle.setLayoutManager(layoutManager); final RecycleAdapter recycleAdapter=new RecycleAdapter(this,list_bean); main_recycle.setAdapter(recycleAdapter); //上拉加载数据 main_recycle.addOnScrollListener(new RecyclerView.OnScrollListener() { //最后一个Itme的位置 int lastVisibleItem=0; @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); if (newState == RecyclerView.SCROLL_STATE_IDLE) { if (lastVisibleItem + 1 == recycleAdapter.getItemCount()) { new Handler().postDelayed(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "上拉加载数据", Toast.LENGTH_SHORT).show(); } }, 500); } } } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); // 在滑动完成后,拿到最后一个可见的item的位置 lastVisibleItem = layoutManager.findLastVisibleItemPosition(); } }); }
RecycleView的适配器
package com.bwie.test.adapter;import android.content.Context;import android.media.Image;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.TextView;import com.bwie.test.R;import com.bwie.test.app.MyApplication;import com.bwie.test.bean.Music;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.List;/** * Created by XP on 2017/10/16. */public class RecycleAdapter extends RecyclerView.Adapter { private Context context; private List<Music.SongListBean> song_list; private DisplayImageOptions options; public RecycleAdapter(Context context,List<Music.SongListBean> song_list) { this.context=context; this.song_list=song_list; options=MyApplication.buildDisplayOption(); } private static final int TYPE_ITEM=0; private static final int TYPE_FOOT=1; @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { if(viewType==TYPE_FOOT) { View view=LayoutInflater.from(context).inflate(R.layout.footer_item,parent,false); return new FooterViewHolder(view); } View view=LayoutInflater.from(context).inflate(R.layout.recycle_item,parent,false); return new ItemViewHodler(view); } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { int type = getItemViewType(position); if(type==TYPE_ITEM) { Music.SongListBean listBean=song_list.get(position); ImageLoader.getInstance().displayImage(listBean.getPic_small(),((ItemViewHodler)holder).item_iv,options); ((ItemViewHodler)holder).title.setText(listBean.getTitle()); ((ItemViewHodler)holder).content.setText(listBean.getAuthor()+" - "+listBean.getAlbum_title()); } } @Override public int getItemCount() { return song_list.size()+1; } @Override public int getItemViewType(int position) { if(position+1==getItemCount()) { return TYPE_FOOT; } return TYPE_ITEM; } public class ItemViewHodler extends RecyclerView.ViewHolder { ImageView item_iv; TextView title,content; public ItemViewHodler(View itemView) { super(itemView); item_iv= (ImageView) itemView.findViewById(R.id.item_image); title= (TextView) itemView.findViewById(R.id.item_title); content= (TextView) itemView.findViewById(R.id.item_content); } } public class FooterViewHolder extends RecyclerView.ViewHolder { public FooterViewHolder(View itemView) { super(itemView); } }}
RecycleView的Footer的xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="50dp"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="上拉加载" android:gravity="center" android:textColor="#f00" android:textSize="19dp"/></RelativeLayout>
阅读全文
0 1
- RecycleView原生添加上拉加载
- RecycleView添加下拉刷新、上拉加载更多
- Android RecycleView上拉加载
- RecycleView上拉加载和下拉刷新
- Android RecycleView上拉加载BaseAdapter(二)
- recycleview上拉自动加载数据
- RecycleView下拉刷新上拉加载
- recycleView下拉刷新上拉加载
- RecycleView上拉刷新下拉加载
- RecycleView 上拉加载下拉刷新 分页加载
- RecycleView上拉加载更多的一种解决方案
- 自定义下拉刷新和上拉加载的recycleview
- 一步一步封装自己的Recycleview,上拉加载
- 使用SwipeRefreshLayout实现recycleview下拉刷新上拉加载
- RecycleView上拉加载和下拉刷新二
- 【实训】自定义上拉加载下拉刷新的RecycleView
- SwipeRefreshLayout +RecycleView实现上拉加载更多和下拉刷新
- Recycleview下拉刷新,上拉加载的思路
- 归并排序题目整理归并(hdu)
- 1-4 输出菱形
- Word/Excel文档伪装病毒-kspoold.exe分析
- 简易测试工具wrk
- 使用httppost请求发送form表单的方法
- RecycleView原生添加上拉加载
- 7744问题
- Jsf标签详解(全)
- 设计模式(23)--模板模式
- 验证码
- css样式实现div页面底部始终悬浮显示
- 感染性的木马病毒分析之样本KWSUpreport.exe
- linux基础总结(四)-------共享内存
- ras拨号c++程序简略