У меня есть пользовательский ArrayAdapter
базового класса. У меня также есть подкласс, и я хочу, чтобы ArrayAdapter
мог получать два разных типа данных, т.е. (arrayList и arraylist) и отображать их последовательно в одном бесшовном listview
.
Я никогда не делал этого раньше, поэтому общие комментарии и рекомендации очень ценятся. Я попытался сделать универсальный 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
есть решение этой проблемы?
В конечном итоге я хочу иметь два одинаковых, но разных типа наборов данных (один подкласс другого), выводимых как одно бесшовное представление списка. Я не смог найти общий подход к этому.