2016-05-08 98 views
0

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

我甚至想要三个可扩展列表视图,分享所有内容,但每个单元格的背景颜色除外。

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

谢谢。

+0

“我甚至想要三个可扩展的列表视图,除了每个单元格的背景颜色之外,它们都共享一切。” - 喜欢只有你的布局资源是不同的。对所有3个列表视图使用一个适配器,并在构造函数中传递布局资源。 – zyamys

回答

1

对每个listview有一个独特的适配器看起来像一个糟糕的设计实践,因为它们都非常相似。

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

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

是的。

有没有其他方法?

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


的问题是,我的一些列表视图,将是扩张的,所以我不能使用回收站视图。

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

+0

谢谢!由于这是我的第一个应用程序,我不必处理大量的数据,所以我会坚持使用基本的(listView),但我一定会记住,RecyclerView通常是更好的设计选择 –