andriodjie——xRecyclerView网络获取数据简单实现
来源:互联网 发布:2016淘宝店铺二级域名 编辑:程序博客网 时间:2024/05/17 10:03
1.配置build.gradle文件:
直接添加
compile 'com.jcodecraeer:xrecyclerview:1.3.2' 即可。
2.在xml文件的使用:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_xreca" android:layout_width="match_parent" android:layout_height="match_parent"> <com.jcodecraeer.xrecyclerview.XRecyclerView android:layout_width="match_parent" android:id="@+id/xre_xrv" android:layout_height="match_parent"> </com.jcodecraeer.xrecyclerview.XRecyclerView></RelativeLayout>在xml中的使用只需要配置它的id,长宽就好了。
3.在JAVJ文件中的使用:
public class XrecyclerviewActivity extends AppCompatActivity { private XRecyclerView recyclerView; private Context context; //数据集合 private List<String >list=new ArrayList<>(); //获取数据的开始 private int curr; private MyAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_xreca); getSupportActionBar().hide(); context=this; recyclerView=(XRecyclerView)findViewById(R.id.xre_xrv); //LinearLayoutManager是线性布局,setOrientation可以设置他的方向是横向还是纵向。 LinearLayoutManager layoutManager=new LinearLayoutManager(context); layoutManager.setOrientation(LinearLayoutManager.VERTICAL); recyclerView.setLayoutManager(layoutManager); //GridLayoutManager是表格布局,GridLayoutManager(Context,表格的个数(根据方向决定横排几个或纵排几个))// GridLayoutManager layoutManager1=new GridLayoutManager(context,3);// layoutManager.setOrientation(LinearLayoutManager.VERTICAL);// recyclerView.setLayoutManager(layoutManager1); //StaggeredGridLayoutManager是瀑布流,StaggeredGridLayoutManager(横或纵排个数,方向)// StaggeredGridLayoutManager staggeredGridLayoutManager=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);// recyclerView.setLayoutManager(staggeredGridLayoutManager); //XRecyclerView的上下拉监听方法 recyclerView.setLoadingListener(new XRecyclerView.LoadingListener() { @Override //下拉刷新 public void onRefresh() { //当下拉刷新的时候,重新获取数据,所有curr要变回0,并且把集合list清空 curr=0; list.clear(); getData(curr); recyclerView.refreshComplete(); } @Override //上拉加载 public void onLoadMore() { //当上拉加载的时候,因为一次获取是10个数据,所也在获取的时候就要在加10的地方开始获取// 如:第一次0——9;// 第二次10——19;// SystemClock.sleep(1000); curr=curr+10; getData(curr); recyclerView.refreshComplete(); } }); //第一次获取数据 curr=0; getData(curr); } private void getData(int number){ for (int i=number;i<number+10;i++){ list.add("数据是第"+i+"个"); } //调用Adapter展示数据,这个判断是为了不重复创建MyAdapter的对象 if (adapter==null){ adapter=new MyAdapter(list,context); recyclerView.setAdapter(adapter); }else { adapter.notifyDataSetChanged(); } } private class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ private List<String >list=new ArrayList<>(); private Context context; public MyAdapter(List<String> list, Context context) { this.list = list; this.context = context; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { //给Adapter添加布局,bq把这个view传递给HoldView,让HoldView找到空间 View view= LayoutInflater.from(context).inflate(R.layout.xrecyc_adapter, parent,false); HoldView holdView=new HoldView(view); return holdView; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { //position为Adapter的位置,数据从list里面可以拿出来。 String s=list.get(position); ((HoldView)holder).textView.setText(s); } @Override public int getItemCount() { return list.size(); } private class HoldView extends RecyclerView.ViewHolder{ private TextView textView; public HoldView(View itemView) { super(itemView); //根据onCreateViewHolder的HoldView所添加的xml布局找到空间 textView= (TextView) itemView.findViewById(R.id.xrecyc_text); } } }}
阅读全文
0 0
- andriodjie——xRecyclerView网络获取数据简单实现
- andriodjie——实现小圆点
- andriodjie——recycleview
- Andriodjie——简单的购物车全选反选
- andriodjie——MVP加RecycleView简单展示
- Andriodjie——二级列表实现购物车
- Andriodjie——二级列表实现购物车
- Andriodjie——登陆注册展示商品
- Andriodjie——画圆3秒跳转
- Andriodjie——OKhttp拦截器
- Andriodjie——自定义头布局
- andriodjie——mvp展示拦截器传来的数据跳转购物车
- android—获取网络数据
- 获取网络数据—NetDataUtil
- Andriodjie——RecyclerView点击查看商品详情
- xRecyclerView简单实现下拉刷新和上拉加载
- xRecyclerView简单实现下拉刷新和上拉加载
- Android XRecyclerView简单实现上拉刷新,下拉加载
- 下载图片放到纹理缓存中
- python Web开发 flask轻量级Web框架
- 每周汇总
- python之实战----KNN之手写数字位图
- 关于单链表的反转一种复杂的想法
- andriodjie——xRecyclerView网络获取数据简单实现
- android 断电续传
- Windows下libevent C++封装类实现
- HttpClient PostMethod方式
- zabbix3.2.7自定义key类型之计算(Calculated items)
- 网页的瀑布流布局
- Mac OS OpenCV安装及终端和Xcode的使用
- Bootstrap(一)
- QT 快捷键整理