自定义RecyclerView之LinearLayoutManager垂直布局

来源:互联网 发布:spss数据转换正态分布 编辑:程序博客网 时间:2024/06/15 21:38
 *注意一定要先添加依赖:
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);        }    }}


阅读全文
0 0