Android应用程序

时间:2016-05-08 00:40:30

标签: android listview

我想在我的Android应用程序中通过一些活动获得一些类似的可扩展列表视图。它们都具有相同的内容,但使用不同的设计。有些按钮例如,有些没有。

我甚至希望有三个可扩展的列表视图,除了每个单元格的背景颜色外,共享所有内容

无论如何,为每个listview配备一个独特的适配器似乎是一个糟糕的设计实践,因为它们都非常相似。我正在考虑制作一个抽象适配器,而不是为每个列表视图扩展它,这会起作用吗?还有其他方法吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

  

为每个列表视图设置一个独特的适配器似乎是一个糟糕的设计实践,因为它们都非常相似。

这是正确的。重复的代码几乎总是代码设计错误的标志。

  

我正在考虑制作一个抽象适配器,然后为每个列表视图扩展它,这会起作用吗?

  

还有其他办法吗?

是。例如。如果您想要一个支持不同背景的适配器,您的适配器应该将后台资源/颜色作为构造函数参数。这种方法适合微小的变化。如果你想要一些不可扩展的和一些可扩展的列表视图,我会赞成继承方法。

  

问题是我的一些列表视图是可扩展的,所以我无法使用Recycler View。

Recyclerviews是比listviews更好的设计选择。创建可扩展的内容并不难,请参阅Expandable list with RecyclerView?