【发布时间】:2019-11-05 18:53:50
【问题描述】:
我有一个基类的自定义ArrayAdapter。我还有一个子类,我希望ArrayAdapter 能够接收两种不同类型的数据,即(arrayList 和 arraylist)并在一个无缝的listview 中连续显示它们。
我以前从未这样做过,因此非常感谢一般的 cmets 和指南。我试图使 ArrayAdapter 通用:
public class MyAdapter<T extends BaseClass> extends ArrayAdapter<T>
使用这个构造函数:
public MyAdapter(Context context, ArrayList<T> items) {
super(context, 0, items);
fullList = items;
}
但我不知道如何传递一个可以具有子类或基类类型的通用 ArrayList。 (这种方法稍后将涉及使用 instanceOf 的代码,这不是做事的最佳方式......正如我从 SO 中学到的)
我正在考虑扩展这个自定义 arrayadapter 而不是泛型。但我不确定这将如何工作。
解决此问题的最佳方法是什么?除了arrayadapter 之外,是否还有更适合这种情况的适配器。还是recyclerview有办法解决这个问题?
我最终希望拥有两个相似但不同类型的数据集(一个子类化另一个),作为一个无缝列表视图输出。我找不到执行此操作的一般方法。
【问题讨论】:
标签: java android android-listview android-arrayadapter android-adapter