我决定升级我的代码现在使用RecyclerView而不是我现在使用的列表 .
据我所知,以下是通常的情况:
-
onCreateViewHolder - 这会使视图膨胀,并执行findviewbyid并将其作为视图的ViewHolder对象返回
-
onBindViewHolder - 这会将视图持有者值分配给位置视图(正在被回收) .
这一切都很好和花花公子...如果列表中的视图包含相同的字段...
然而,在我根据适配器List(在getView方法中)以编程方式添加视图之前,我的列表中的视图是不同的 .
是否有一种“良好实践”的方法来解决这个问题,我想不出一个解决这个问题的好方法 .
getViewItemType不起作用,因为视图是唯一的并且它们不是预定义的 .
1 回答
这是您在ListView或RecyclerView中使用不同类型的视图时需要使用的内容: -
首先,您需要使用getViewTypeCount()并返回List中所需的唯一视图数 . 然后重写getItemViewType()并返回要在List行中扩充的View类型 .
希望它会有所帮助 .
如果您仍然有任何问题需要一个有效的例子,请告诉我,我会更新我的答案 .