与异质行的Recycler视图

时间:2017-11-18 11:46:36

标签: android android-recyclerview

我想创建具有异类行的回收站视图。 一些行将具有imageview,一些将具有5个textviews,一些将具有编辑文本,一些将具有嵌套的回收器视图等。 没有模式。怎么做?

我研究和发现的内容: - AirBnb环氧树脂。

请提供一些有关如何进一步处理此事的建议。

2 个答案:

答案 0 :(得分:1)

如果你有类似的话: public class MyRecyclerAdapter extends RecyclerView.Adapter<CustomRecycleViewHolder>然后您必须覆盖名为onCreateViewHolder的方法。此方法有2个参数...一个是ViewGroup parent,另一个是int viewType。 您可以在创建新viewType之前检查Holder来更改整行。 例如:

if(viewType == 0){
        return new MyViewHolder(context,layoutInflater.inflate(R.layout.my_view_holder,null,false));

    } else {
        return new My2ViewHolder(context,layoutInflater.inflate(R.layout.my_2_view_holder,null,false));
    }

请不要忘记每个ViewHolder必须扩展CustomRecycleViewHolder

答案 1 :(得分:0)

您可以按照建议实现自己的ViewType。但是,如果您有多个异构行,我建议使用环氧树脂是一个很好的解决方案。环氧树脂非常灵活,并提供了许多功能来立即构建异构的RecyclerView。我已经在多个大型应用程序中使用过它,并且效果很好。

除了创建和跟踪大量ViewHolders外,您只需创建模型并像使用它们一样

headerModel
          .title("My Photos")
          .description("My album description!")
          .addTo(this);

new PhotoModel()
           .id(photo.id())
           .url(photo.url())
           .addTo(this);