RecyclerView的学习理解
来源:互联网 发布:学车电销数据 编辑:程序博客网 时间:2024/06/05 11:08
RecyclerView
什么是RecyclerView?
RecyclerView 是Android中新添加的一个用来取代ListView的SDK,它的灵活性与可替代性比listview更好。需要导入support-v7对其进行使用。RecyclerView的介绍
RecyclerView与ListView原理是类似的:都是仅仅维护少量的View并且可以展示大量的数据集。RecyclerView用以下两种方式简化了数据的展示和处理:- 使用LayoutManager来确定每一个item的排列方式。
为增加和删除项目提供默认的动画效果。
- RecyclerView基本实现:
新建布局,引入RecyclerView控件:<?xmlversionxmlversion="1.0" encoding="utf-8"?> <LinearLayoutxmlns:androidLinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"android:layout_width="match_parent" android:layout_height="match_parent"> <includelayoutincludelayout="@layout/common_top_bar_layout"/> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerView_one" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" ></android.support.v7.widget.RecyclerView> </LinearLayout>
在Activity中获取RecyclerView控件然后进行设置LayoutManger以及Adapter即可,和ListView的写法有点类似:public class RecyclerViewTestActivity extends BaseActivity { private LinearLayout top_bar_linear_back; private TextView top_bar_title; private RecyclerView recyclerView_one; private RecyclerView.Adapter mAdapter; private LinearLayoutManager mLayoutManager; @Override protected void onCreate(BundlesavedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.recyclerview_test_layout); top_bar_linear_back=(LinearLayout)this.findViewById(R.id.top_bar_linear_back); top_bar_linear_back.setOnClickListener(new CustomOnClickListener()); top_bar_title=(TextView)this.findViewById(R.id.top_bar_title); top_bar_title.setText("RecyclerView使用实例"); //开始设置RecyclerView recyclerView_one=(RecyclerView)this.findViewById(R.id.recyclerView_one); //设置固定大小 recyclerView_one.setHasFixedSize(true); //创建线性布局 mLayoutManager = newLinearLayoutManager(this); //垂直方向 mLayoutManager.setOrientation(OrientationHelper.VERTICAL); //给RecyclerView设置布局管理器 recyclerView_one.setLayoutManager(mLayoutManager); //创建适配器,并且设置 mAdapter = newTestRecyclerAdapter(this); recyclerView_one.setAdapter(mAdapter); } class CustomOnClickListener implements View.OnClickListener{ @Override public void onClick(View v) { RecyclerViewTestActivity.this.finish(); } } } 自定义一个适配器来进行创建item view以及绑定数据public class TestRecyclerAdapter extends RecyclerView.Adapter<TestRecyclerAdapter.ViewHolder>{ private LayoutInflater mInflater; private String[] mTitles=null; public TestRecyclerAdapter(Context context){ this.mInflater=LayoutInflater.from(context); this.mTitles=new String[20]; for (int i=0;i<20;i++){ int index=i+1; mTitles[i]="item"+index; } } /** * item显示类型 * @param parent * @param viewType * @return */ @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { Viewview=mInflater.inflate(R.layout.item_recycler_layout,parent,false); //view.setBackgroundColor(Color.RED); ViewHolder viewHolder=new ViewHolder(view); return viewHolder; } /** * 数据的绑定显示 * @param holder * @param position */ @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.item_tv.setText(mTitles[position]); } @Override public int getItemCount() { return mTitles.length; } //自定义的ViewHolder,持有每个Item的的所有界面元素 public static class ViewHolder extends RecyclerView.ViewHolder { public TextView item_tv; public ViewHolder(View view){ super(view); item_tv = (TextView)view.findViewById(R.id.item_tv); } }
效果图如下
阅读全文
0 0
- RecyclerView的学习理解
- RecyclerView的学习理解
- RecyclerView的理解
- 理解RecyclerView的RecyclerView.ItemDecoration(一)
- 理解RecyclerView的RecyclerView.ItemDecoration(二)
- 简单理解Recyclerview的使用
- RecyclerView的使用及理解
- RecyclerView的使用学习
- RecyclerView的学习
- recyclerView 的学习
- RecyclerView的学习
- RecyclerView 的学习
- 深入理解RecyclerView的设计和实现
- 一篇博客理解Recyclerview的使用
- 学习RecyclerView的一些东西
- Android RecyclerView的使用学习
- RecyclerView的学习与运用
- Android学习--RecyclerView的使用
- 根据OLAMI平台开发的日历Demo
- 正则表达式
- Vue中的$set的使用
- 网址收藏
- 子类虚函数调用无效
- RecyclerView的学习理解
- java并发包学习系列:future模式
- J2EE系列之Spring4学习笔记(九)--Spring对JDBC的支持
- Vue豆瓣系列文章
- C#常用函数归类(更新)
- 倍福buffermode使用
- 2017年物联网安全的六大趋势以及对策
- 对象和类之构造方法
- 128. Longest Consecutive Sequence