在设置多视图类型的Adapter的时刻只须要在创建ViewHolder的时刻多传入一个viewType的参数即可。
自定义BaseAdapter的应用
- private class MyAdapter extends RecyclerView.Adapter<ViewHolder> {
- @Override
- public int getItemCount() {
- return COUNT;
- }
- @Override
- public int getItemViewType(int position) {
- return position % 2 == 0 ? TYPE_IMAGE : TYPE_TEXT;
- }
- @Override
- public void onBindViewHolder(ViewHolder holder, int position) {
- int type = getItemViewType(position);
- switch (type) {
- case TYPE_TEXT:
- ((MyTextHolder) holder).textView.setText("TEXT_" + position);
- break;
- case TYPE_IMAGE:
- ((MyImageHolder) holder).imageView.setImageResource(R.drawable.image);
- break;
- }
- }
- @Override
- public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View view;
- ViewHolder holder = null;
- switch (viewType) {
- case TYPE_TEXT:
推荐阅读
Relations 本文译自 What is a NoSQL Database? Learn By Writing>NoSQL 这个词在近些年正变得到处可见. 然则到底 "NoSQL" 指的是什么? 它是若何并且为什么这么竽暌剐用? 在本文, 我们将会>>>详细阅读
本文标题:Android自定义BaseAdapter最佳实践
地址:http://www.17bianji.com/lsqh/35304.html
1/2 1