recylerview的简单使用

    xiaoxiao2021-04-17  34

    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); }
    转载请注明原文地址: https://ju.6miu.com/read-673615.html

    最新回复(0)