国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

android - recyclerview嵌套recyclerview比較好的解決方案

瀏覽:136日期:2024-08-17 18:16:16

問題描述

像這種需要recyclerview嵌套recyclerview的情況有沒有比較好的解決方案android - recyclerview嵌套recyclerview比較好的解決方案

問題解答

回答1:

為何我看到的第一印象是流式布局 FlowLayout,GitHub 流式布局,Google出來的

你動(dòng)態(tài)的 addView() 也是可以做到的

回答2:

同求,之前我有類似需求的時(shí)候,如果內(nèi)容不是太多,會(huì)在內(nèi)嵌套一個(gè)list/recycler View并拋掉所有觸摸事件避免滑動(dòng)沖突,著實(shí)是不太優(yōu)雅。

回答3:

在我看來這不是recyclerView嵌套recyclerView 一個(gè)recyclerView就可以搞定 只是要顯示不同的list的數(shù)據(jù)和不同的item,我的思路是新建一個(gè)baseModel 兩個(gè)數(shù)據(jù)源的bean 繼承于baseModel,還是看代碼 說是說不清楚

public class ModelBase { public int BEAN_SORT = -1; public int BEAN_TYPE = -1;}

public class AnimalModel extends ModelBase { private long id; private String name; private int age; private String address; }

public class PersonModel extends ModelBase {

private long id;private String name;private int age;}

public class MainActivity extends AppCompatActivity { RecyclerView rvModel; private ArrayList<ModelBase> list; private enum BASE_TYPE {TYPE_PERSON, TYPE_ANIMAL } private ModelAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);rvModel = (RecyclerView) findViewById(R.id.recycler_view);list = new ArrayList<ModelBase>();rvModel.setLayoutManager(new LinearLayoutManager(this));bindData();adapter = new ModelAdapter();rvModel.setAdapter(adapter); } private void bindData() {PersonModel person1 = new PersonModel(1, '大白', 25, '2017-02-13');list.add(person1);PersonModel person2 = new PersonModel(2, '二白', 25, '2018-06-21');list.add(person2);AnimalModel animal1 = new AnimalModel(1, '兔子', 2, '', '2016-03-15');list.add(animal1);AnimalModel animal2 = new AnimalModel(1, '兔子2', 2, '森林', '2019-02-14');list.add(animal2);PersonModel person3 = new PersonModel(3, '三白', 25, '2017-03-18');list.add(person3);AnimalModel animal3 = new AnimalModel(1, '兔子3', 2, '森林', '2015-03-15');list.add(animal3);PersonModel person4 = new PersonModel(4, '四白', 25, '2015-03-28');list.add(person4);PersonModel person5 = new PersonModel(5, '小白', 25, '2016-05-15');list.add(person5);AnimalModel animal4 = new AnimalModel(1, '兔子4', 2, '森林', '2014-03-14');list.add(animal4);Collections.sort(list, new Comparator<ModelBase>() { @Override public int compare(ModelBase model1, ModelBase model2) {return model2.data.compareTo(model1.data); }}); // 排序 } class ModelAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {@Overridepublic RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { if (viewType == BASE_TYPE.TYPE_PERSON.ordinal()) {return new PersonViewHolder(LayoutInflater.from(MainActivity.this).inflate(R.layout.item_person, parent, false)); } else if (viewType == BASE_TYPE.TYPE_ANIMAL.ordinal()) {return new AnimalViewHolder(LayoutInflater.from(MainActivity.this).inflate(R.layout.item_animal, parent, false)); } return null;}@Overridepublic void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { if (holder instanceof PersonViewHolder) {((PersonViewHolder) holder).tvPerson.setText(((PersonModel) list.get(position)).getName()); } if (holder instanceof AnimalViewHolder) {((AnimalViewHolder) holder).tvAnimal.setText(((AnimalModel) list.get(position)).getName()); }}@Overridepublic int getItemCount() { return list.size();}@Overridepublic int getItemViewType(int position) { if (list.get(position).BEAN_TYPE == 1) {return BASE_TYPE.TYPE_PERSON.ordinal(); } else if (list.get(position).BEAN_TYPE == 2) {return BASE_TYPE.TYPE_ANIMAL.ordinal(); } return 0;}class PersonViewHolder extends RecyclerView.ViewHolder { TextView tvPerson; public PersonViewHolder(View itemView) {super(itemView);tvPerson = (TextView) itemView.findViewById(R.id.tv_person); }}class AnimalViewHolder extends RecyclerView.ViewHolder { TextView tvAnimal; public AnimalViewHolder(View itemView) {super(itemView);tvAnimal = (TextView) itemView.findViewById(R.id.tv_animal); }} }

你可以照著列子敲一下 bean省去了set和get方法 布局文件也是很簡單回答4:

用expandListView 干嘛非要用recyclerView

相關(guān)文章:
主站蜘蛛池模板: 国产精品欧美亚洲韩国日本不卡 | 91久久福利国产成人精品 | 亚洲欧美片 | 三级网站 | 亚洲国产成人久久一区二区三区 | 国产免费一级片 | 91年精品国产福利线观看久久 | 成人欧美视频免费看黄黄 | 九九手机视频 | 日韩成人免费在线视频 | 久久九九久精品国产 | 国产成人一区二区三区在线播放 | 日韩视频网 | 亚洲三级理论 | 色一欲一性一乱一区二区三区 | 欧美成人性生活视频 | 精品在线观看国产 | 久久精品全国免费观看国产 | 久久久久久一品道精品免费看 | 日韩一级片网址 | 免费人成黄页网站在线观看国产 | 国内精品久久久久久久久久影视 | 国产成人aa在线观看视频 | 亚洲午夜精品一级在线 | japanese色系tube护士 | 亚洲第一在线播放 | 一级毛片视频 | 国产20岁美女一级毛片 | 亚洲男人网 | 久久综合一本 | 美女扒开腿让男人桶爽免费动态图 | 免费一区二区 | 一级做a爰片久久毛片免费看 | 亚洲第一网站在线观看 | 久草免费资源视频 | 国产欧美一区二区三区精品 | 黄男人和女人色一级 | 国产午夜毛片v一区二区三区 | 久久久国产亚洲精品 | 亚洲综合久久久久久中文字幕 | 欧美精品久久天天躁 |