我想在我的Android应用程序中通过一些活动获得一些类似的可扩展列表视图。它们都具有相同的内容,但使用不同的设计。有些按钮例如,有些没有。
我甚至希望有三个可扩展的列表视图,除了每个单元格的背景颜色外,共享所有内容。
无论如何,为每个listview配备一个独特的适配器似乎是一个糟糕的设计实践,因为它们都非常相似。我正在考虑制作一个抽象适配器,而不是为每个列表视图扩展它,这会起作用吗?还有其他方法吗?
谢谢。
答案 0 :(得分:1)
为每个列表视图设置一个独特的适配器似乎是一个糟糕的设计实践,因为它们都非常相似。
这是正确的。重复的代码几乎总是代码设计错误的标志。
我正在考虑制作一个抽象适配器,然后为每个列表视图扩展它,这会起作用吗?
是
还有其他办法吗?
是。例如。如果您想要一个支持不同背景的适配器,您的适配器应该将后台资源/颜色作为构造函数参数。这种方法适合微小的变化。如果你想要一些不可扩展的和一些可扩展的列表视图,我会赞成继承方法。
问题是我的一些列表视图是可扩展的,所以我无法使用Recycler View。
Recyclerviews是比listviews更好的设计选择。创建可扩展的内容并不难,请参阅Expandable list with RecyclerView?。