如何组织类似的适配器?

How can I organize similar adapters?

我有三个活动:ABC
每个 activity 都有三个选项卡:abc
每个选项卡都包含带订单的 ListView。

我总共有9个列表视图,每个列表视图中的元素都是相似的,但它们之间存在一些差异。

我的做法是:创建一个parent BaseApapter class,扩展自ArrayAdapter,里面有通用的getView方法,和9个child OrderAdapter,实现差异。我的方法好吗?我对 BaseAdapter 中的大量 child 感到困惑。还有什么方法可以?

更新: 我无法显示任何代码,但可以更详细地描述它。下面是每个选项卡中一个列表视图项目的简短描述:

  1. Activity A 选项卡 a 包含这样的文本视图:paramA、paramB、时间、距离、价格

  2. Activity A 选项卡 b 包含 paramA、paramB、时间、距离、价格、评论

  3. Activity A 选项卡 c 包含 paramA、paramB、时间、距离、价格、描述
  4. Activity B 选项卡 a 包含paramA, paramB, time, price(这里的price字体样式不同于Activity A)
  5. ActivityB标签b包含paramA,paramB,time,price(此处price字体样式与ActivityA不同),comment
  6. ActivityB选项卡c包含paramA、paramB、时间、价格(此处价格字体样式与ActivityA不同)、描述
  7. Activity C tab a 包含paramA, paramB, imageView avatar, shortNote。此 listView 项的背景不同于 Activity AB
  8. Acitvity C 选项卡 b 包含paramA、paramB、imageView avatar、shortNote。此 listView 项的背景不同于 Activity AB
  9. Acitvity C 选项卡 c 包含paramA、paramB、imageView avatar、shortNote。此 listView 项的背景与 Activity AB
  10. 不同

您只能创建一个适配器,因为唯一的区别在于 getView() 方法,因此您必须创建 9 个项目 xml 文件。

您的适配器应包含一个参数以指示哪个列表视图已被实例化,并切换参数值以选择您使用哪个 XML 来扩充特定布局。

希望对您有所帮助