2017-03-01 51 views
0

我有两种类型的模型:类别和子类别。我想用2种不同类型的布局在回收站视图中显示它们。我知道我可以覆盖方法getItemViewType,但问题是类别和子类别可能会更改(即添加或删除新项目),所以我想知道是否可以创建此类回收视图。我如何确定位置i上的元素是一个类别还是子类别?我在图书馆使用Realm https://github.com/thorbenprimke/realm-recyclerview,但这个问题应该适用于通用回收商的意见。Android Recyclerview类型

+1

向您的模型类中添加一个变量以确定该项目是否为类别或子类别。例如布尔isCategory;然后您可以在执行任何操作之前检查该标志。 – nnn

+0

'我如何确定位置i上的元素是类别还是子类别? '按位置和索引编制。 – EpicPandaForce

回答

1

对于UI,您可以通过调用getItemViewType()方法直接从视图持有者实现中获取元素类型。它允许显示特定的布局。
在后端,您需要调用所需的notifyItemXXX()(例如,notifyItemInserted())开始执行重绘机制的方法 - 它将在所需位置更新您的视图。

采取注
如果使用RealmRecyclerViewAdapter与诸如RealmResultsOrderedRealmCollectionImplOrderedRealmCollection默认实现您不能手动更改数据集。他们不支持添加/删除操作。
P.S.当前领域版本是3.0.0。