您的位置:首页 > 其它

BaseRecyclerViewAdapterHelper 实现不同条目的列表

2017-11-21 16:11 676 查看
1.先导入包

MultiItemEntity


implementation 'com.android.support:recyclerview-v7:26.1.0'
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'

2.主布局文件中只有recycleView
<android.support.v7.widget.RecyclerView
android:id="@+id/recycle1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

3.实体类要继承 MultiItemEntity

public class News implements MultiItemEntity{

public static final int TEXT = 1;//文本布局
public static final int IMAGE = 2;//图片布局

public int itemType;

public News(){
}
public News(int itemType){
this.itemType = itemType;
}

@Override
public int getItemType() {
return itemType;
}

}

4.Adapter继承BaseMultiItemQuickAdapter

public class MuitlAdapter extends BaseMultiItemQuickAdapter<News,BaseViewHolder> {

public MuitlAdapter(List<News> data) {
super(data);
addItemType(News.TEXT, R.layout.text_view);//文本类型对应文本布局
addItemType(News.IMAGE,R.layout.image_layout);//图片类型对应图片布局
}

@Override
protected void convert(BaseViewHolder helper, News item) {
switch (helper.getItemViewType()){
case News.TEXT:
break;
case News.IMAGE:
break;
}
}
}

5.Activity中的主要代码

List<News> newsList = new ArrayList<>();
newsList.add(new News(News.TEXT));
newsList.add(new News(News.IMAGE));
newsList.add(new News(News.TEXT));
newsList.add(new News(News.TEXT));
newsList.add(new News(News.TEXT));
newsList.add(new News(News.TEXT));
MuitlAdapter muitlAdapter = new MuitlAdapter(newsList);
mRecycleView.setAdapter(muitlAdapter);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐