duanymin的专栏

列表-适配器

目标人群:没有基础的安卓初学者 知识点:RecyclerView的使用 目标:用在页面中使用RecyclerView展示列表数据

简介RecyclerView的适配器的相关说明 正文

1.在项目中创建一个名为ItemAdapter.java的类来作为RecyclerView的适配器,,一个最基本的示例如下所示

RecyclerView.Adapter<ItemAdapter.viewHolder> {private ArrayList<String> infos = new ArrayList<String>();public ItemAdapter(ArrayList<String> infos) {this.infos = infos;}@Overridepublic viewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_card,viewGroup, false);return new viewHolder(view);}@Overridepublic void onBindViewHolder(viewHolder viewHolder, int position) {String info = infos.get(position);View view = viewHolder.itemView;TextView textView = (TextView) view.findViewById(R.id.info_text);textView.setText(info);}@Overridepublic int getItemCount() {return infos.size();} RecyclerView.ViewHolder {public viewHolder(View itemView) {super(itemView);}}}

2.MainActivity.java中添加如下代码

(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);RecyclerView mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView);// 当每个子View的大小在布局中不会发生变化时,可以调用本句来提升性能mRecyclerView.setHasFixedSize(true);// 为RecyclerView指定一个类型为LinearLayoutManager的layout managerLinearLayoutManager mLayoutManager = new LinearLayoutManager(this);mRecyclerView.setLayoutManager(mLayoutManager);//创建一个临时数据源ArrayList<String> infos = new ArrayList<String>();for (int a = 0; a < 50; a++) {infos.add(“第” + (a + 1) + “行”);}//创建一个适配器对象ItemAdapter itemAdapter = new ItemAdapter(infos);//为Recycleview指定一个适配器对象mRecyclerView.setAdapter(itemAdapter);}

3.为了RecyclerView的美观考虑,应为每个itemView添加一个行间距,最简单的方法为找到item_card.xml在android.support.v7.widget.CardView中添加一个新的属性(card_view:cardUseCompatPadding=”true”),代码如下

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”xmlns:card_view=”http://schemas.android.com/apk/res-auto”android:layout_width=”fill_parent”android:layout_height=”fill_parent”><androidandroid:id=”@+id/card_view”android:layout_gravity=”center”android:layout_width=”200dp”android:layout_height=”200dp”card_view:cardUseCompatPadding=”true”card_view:cardCornerRadius=”4dp”><TextViewandroid:id=”@+id/info_text”android:layout_width=”match_parent”android:layout_height=”match_parent” /></android></LinearLayout>

4.重新Build你的项目并在模拟器上运行,如果可以看到一个纵向的列表,那么恭喜,本章完成。

听他第二十八次提起童年往事,每年的同一天和他庆祝生日,

duanymin的专栏

相关文章:

你感兴趣的文章:

标签云: