recylerview的简单使用

来源:互联网 发布:知已的反义词 编辑:程序博客网 时间:2024/06/14 07:50
public class MyRecyclerAdapter extends  RecyclerView.Adapter<MyRecyclerAdapter.MyViewHolder>  {    private List<String> list;    public MyRecyclerAdapter(List<String> list) {        // TODO Auto-generated constructor stub        this.list = list;    }    class MyViewHolder extends RecyclerView.ViewHolder{        TextView tv;        public MyViewHolder(View view) {            super(view);            tv = (TextView)view.findViewById(android.R.id.text1);        }    }    @Override    public int getItemCount() {        // TODO Auto-generated method stub        return list.size();    }    @Override    public void onBindViewHolder(MyViewHolder holder, int position) {        //绑定数据        holder.tv.setText(list.get(position));    }    @Override    public MyViewHolder onCreateViewHolder(ViewGroup viewGroup, int arg1) {        // 创建ViewHolder        MyViewHolder holder = new MyViewHolder(View.inflate(viewGroup.getContext(), android.R.layout.simple_list_item_1, null));        return holder;    }}
public class MyStaggedRecyclerAdapter extends RecyclerView.Adapter<MyStaggedRecyclerAdapter.MyViewHolder> {    private List<String> list;    private List<Integer> heights;    public MyStaggedRecyclerAdapter(List<String> list) {        // TODO Auto-generated constructor stub        this.list = list;        heights = new ArrayList<Integer>();        for (int i = 0; i < list.size(); i++) {            heights.add((int)(200+Math.random()*50));        }    }    class MyViewHolder extends RecyclerView.ViewHolder{        TextView tv;        public MyViewHolder(View view) {            super(view);            tv = (TextView)view.findViewById(android.R.id.text1);        }    }    @Override    public int getItemCount() {        // TODO Auto-generated method stub        return list.size();    }    @Override    public void onBindViewHolder(MyViewHolder holder, int position) {        //绑定数据        ViewGroup.LayoutParams params = holder.tv.getLayoutParams();        params.height = heights.get(position);//    holder.tv.setBackgroundColor(Color.rgb(100, (int)(Math.random()*255), (int)(Math.random()*255)));        holder.tv.setLayoutParams(params);        holder.tv.setText(list.get(position));    }    @Override    public MyViewHolder onCreateViewHolder(ViewGroup viewGroup, int arg1) {        // 创建ViewHolder        MyViewHolder holder = new MyViewHolder(View.inflate(viewGroup.getContext(), android.R.layout.simple_list_item_1, null));        return holder;    }}
 private static final long serialVersionUID = -2862585049955236662L;    private RecyclerView recylerview;    private ArrayList<String> list;    // private MyRecyclerAdapter adapter;    private MyRecyclerAdapter adapter;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main_v1);        //获取当前一个对象的        list = new ArrayList<String>();        for (int i = 0; i < 60; i++) {            list.add("item"+i);        }        recylerview = (RecyclerView)findViewById(R.id.recylerview);//    adapter = new MyRecyclerAdapter(list);//        adapter = new MyStaggedRecyclerAdapter(list);        adapter = new MyRecyclerAdapter(list);//        recylerview.setLayoutManager(new LinearLayoutManager(this));//reverseLayout:数据倒置,从右边开始滑动//        recylerview.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true));        recylerview.setLayoutManager(new StaggeredGridLayoutManager(3, LinearLayoutManager.VERTICAL));        recylerview.setAdapter(adapter);    }


0 0