*注意一定要先添加依赖:
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'
XML布局:
man:
?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="chenchneg20171009.bwie.com.lianxi10day13_1.MainActivity"> <android.support.v7.widget.RecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="match_parent"></android.support.v7.widget.RecyclerView> </LinearLayout>item1:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="40dp" android:background="#330000ff" android:orientation="horizontal"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@mipmap/ic_launcher"/> <TextView android:id="@+id/tv_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp"/> <TextView android:id="@+id/tv_age" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp"/> </LinearLayout>Activity 主类:
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { RecyclerView rv; List<ItemBrean> list=new ArrayList<ItemBrean>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化数据 rv= (RecyclerView) findViewById(R.id.rv); //设置布局管理器 rv.setLayoutManager(new LinearLayoutManager(this)); for (int i=0;i<100;i++){ ItemBrean itemBrean= new ItemBrean("name"+i,"age"+i); list.add(itemBrean); } MyAdapter myAdapter=new MyAdapter(this,list); rv.setAdapter(myAdapter); } }Adapter 类:import java.util.List; /** * Created by dell on 2017/10/13. */ public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List<ItemBrean> list; public MyAdapter(Context context, List<ItemBrean> list){ this.context=context; this.list=list; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view= LayoutInflater.from(context).inflate(R.layout.item1,parent,false); Type1ViewHolder type1ViewHolder = new Type1ViewHolder(view); return type1ViewHolder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { ItemBrean itemBrean = list.get(position); //强转 Type1ViewHolder type= (Type1ViewHolder) holder; type.tvname.setText(itemBrean.getName()); type.tvage.setText(itemBrean.getName()); } @Override public int getItemCount() { return list.size(); } private class Type1ViewHolder extends RecyclerView.ViewHolder{ TextView tvname; TextView tvage; public Type1ViewHolder(View itemView) { super(itemView); tvname = itemView.findViewById(R.id.tv_name); tvage = itemView.findViewById(R.id.tv_age); } } }user 类:import java.util.List; /** * Created by dell on 2017/10/13. */ public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List<ItemBrean> list; public MyAdapter(Context context, List<ItemBrean> list){ this.context=context; this.list=list; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view= LayoutInflater.from(context).inflate(R.layout.item1,parent,false); Type1ViewHolder type1ViewHolder = new Type1ViewHolder(view); return type1ViewHolder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { ItemBrean itemBrean = list.get(position); //强转 Type1ViewHolder type= (Type1ViewHolder) holder; type.tvname.setText(itemBrean.getName()); type.tvage.setText(itemBrean.getName()); } @Override public int getItemCount() { return list.size(); } private class Type1ViewHolder extends RecyclerView.ViewHolder{ TextView tvname; TextView tvage; public Type1ViewHolder(View itemView) { super(itemView); tvname = itemView.findViewById(R.id.tv_name); tvage = itemView.findViewById(R.id.tv_age); } } }