文章出處

在做項目時,使用了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

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()