我正在使用回收站视图对应用程序进行原型设计,其中基本上将这个概念归结为:
有一个列表,完全可滚动(这一点很重要)。
然而,回收站视图中的相关项目非常不同。它不像我想要一个图像或一个文本,但有时它是一个简单的列表项(可点击的文本)",有时它是一个有3个按钮的行,有时它是一个图标有文字,另一个是按钮等。
虽然类似的项目类型具有相似的行为,但这些组本身是不同的。他们需要一个不同的经理,一个不同的ViewHolder来处理他们截然不同的按钮事件等。
我发现将所有内容放入带有一些常见基类的回收器视图适配器并将这些不同项可以执行的所有内容委托给某些回调并不是很方便。感觉非常笨重。
有没有更好的处理方式?回收者视图的优点是滚动得很好。我个人不需要任何懒惰创造这些项目(=回收)所以我在这里没有赢得太多。另一个优点是我不需要处理每个项目的创建。这也是缺点,我需要根据位置等通过适配器及其getItemViewType
进行引导。