/** * 适配器 */ public class Mybase extends RecyclerView.Adapter<Mybase.MyViewHolder> { private List<String> list; public Mybase() { list = new ArrayList<>(); for (int i=0;i<30;i++){ list.add("数量"+i); } } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_item, null); return new MyViewHolder(inflate); } @Override public void onBindViewHolder(MyViewHolder holder, int position) { holder.item_text.setText(list.get(position)); if (position%2==1){ holder.item_img.setImageResource(R.drawable.tu1); } } @Override public int getItemCount() { return list.size(); } public class MyViewHolder extends RecyclerView.ViewHolder{ private final TextView item_text; private final ImageView item_img; public MyViewHolder(View itemView) { super(itemView); item_text = (TextView) itemView.findViewById(R.id.item_text); item_img = (ImageView) itemView.findViewById(R.id.item_img); } } //主方法public class MainActivity extends AppCompatActivity { private RecyclerView recycle_main; private Button btn_main; private LinearLayoutManager linearLayoutManager; private GridLayoutManager gridLayoutManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recycle_main = (RecyclerView) findViewById(R.id.recycler_main); btn_main = (Button) findViewById(R.id.btn_main); linearLayoutManager = new LinearLayoutManager(this); gridLayoutManager = new GridLayoutManager(this, 3); gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { return 3 - position % 3; } }); StaggeredGridLayoutManager staggeredGridLayoutManager=new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL); recycle_main.setLayoutManager(staggeredGridLayoutManager); recycle_main.setAdapter(new Mybase()); btn_main.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { RecyclerView.LayoutManager layoutManager = recycle_main.getLayoutManager(); if (layoutManager==null){ return; } if (layoutManager instanceof GridLayoutManager){ recycle_main.setLayoutManager(linearLayoutManager); }else if (layoutManager instanceof LinearLayoutManager){ recycle_main.setLayoutManager(gridLayoutManager); } } }); } }
Recycler View
最新推荐文章于 2025-01-24 15:39:41 发布