RecyclerView基本已经取代ListView,而且灵活度很高。要怎么去用它呢,其实主要就是把设配器(adapter)给写好就行了。
Adapter代码:
package com.example.administrator.myapplication;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.List;
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
List<Fruit> mlist;
public class ViewHolder extends RecyclerView.ViewHolder{ // 利用RecyvlerView本身的ViewHoler方法进行控件的封装,使fruititem各个控件的实例化
TextView mID;
TextView mName;
public ViewHolder(View itemView) {
super(itemView); //各控件的实例化
mID = (TextView) itemView.findViewById(R.id.mId);
mName = (TextView) itemView.findViewById(R.id.mName);
}
}
//将列表传进
public MyAdapter(List<Fruit> list){
mlist =list;
}
//加载整个layout布局,创建ViewHolder实例
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fruititem,parent,false);
ViewHolder Holder = new ViewHolder(view); //把上面的fruititem整个布局中各个控件实例化
return Holder;
}
//onBindViewHolder就是填充数据的过程
@Override
public void onBindViewHolder(ViewHolder holder, int position) { //此holder指上面ViewHolder通过继承父类所得。
//加载内容进控件
Fruit fruit= mlist.get(position); //获取list位置,下面开始为控件填充数据
holder.FruitName.setText(fruit.getMname());
holder.FruitID.setText(fruit.getmID());
}
@Override
public int getItemCount() {