文章出處


在做項目時,使用了RecylerView取代了ListView這個傳統的列表控件,現在總結一下它的基本用法,方便以后回顧。效果圖如下:

先來看一下工程結構:

使用步驟:
添加依賴,因為是v7包下的(compile ‘com.android.support:recyclerview-v7:25.0.0’) 準備數據源,以便填充數據 布局 查找控件 準備RecylerView的子條目布局 復寫適配器 設置適配器
為了存儲數據方便在這里建了一個人類,擁有三個屬性,name,age,picture。
public class PersonBean {public String name;public int age;public int picture;}
添加多個人:
List datas = new ArrayList<>();for (int i = 0; i < 20; i++) {PersonBean personBean = new PersonBean();personBean.name = "蒼老師" + i;personBean.age = 20 + i;personBean.picture = R.mipmap.gril;datas.add(personBean);}`
將RecylerView寫入布局(activity_main.xml)
查找控件,老套路
//基本用法
recyclerView = (RecyclerView) findViewById(R.id.recyclerview);
//添加布局管理器,還有其它幾種
recyclerView.setLayoutManager(new LinearLayoutManager(this));
準備RecylerView的子條目布局(item_recylerview)
重寫適配器,同時要先準備好ViewHolder
private class MyRecylerAdapter extends Adapter {@Overridepublic MyRecylerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.item_recylerview, null);MyRecylerViewHolder holder = new MyRecylerViewHolder(view);return holder;}@Overridepublic void onBindViewHolder(MyRecylerViewHolder holder, int position) {PersonBean personBean = datas.get(position);holder.tv_user_name.setText(personBean.name);holder.tv_user_age.setText(String.valueOf(personBean.age));holder.iv_user_pic.setBackgroundResource(personBean.picture);}@Overridepublic int getItemCount() {return datas.size();}//ViewHolderclass MyRecylerViewHolder extends ViewHolder {private final ImageView iv_user_pic;private final TextView tv_user_name, tv_user_age;public MyRecylerViewHolder(View itemView) {super(itemView);iv_user_pic = (ImageView) itemView.findViewById(R.id.iv_user_pic);tv_user_name = (TextView) itemView.findViewById(R.id.tv_user_name);tv_user_age = (TextView) itemView.findViewById(R.id.tv_user_age);}}}
設置適配器
//設置適配器
recyclerView.setAdapter(new MyRecylerAdapter());
看文倉www.kanwencang.com網友整理上傳,為您提供最全的知識大全,期待您的分享,轉載請注明出處。
歡迎轉載:http://www.kanwencang.com/bangong/20170219/103654.html
文章列表
全站熱搜