2015-04-01 3 views
0

У меня есть вид списка BaseAdapter, который принимает List<objects>, и я хотел бы использовать его в разных списках. Как мне это сделать?Как использовать представление BaseAdapter для нескольких списков

+0

Сделайте свой ListView (другой) и установите адаптер для него. Я полагаю ? – Ajeet

+0

Ваш вопрос слишком расплывчатый, непонятно, какова ваша проблема. – njzk2

ответ

3

Вы можете создать новый экземпляр для каждого списка, который вам нужен.

Например, предположим, что у вас есть BaseAdapter с именем MyAdapter и два ListViews.

MyAdapter myFirstAdapter = new MyAdapter(objects); 
myFirstListView.setAdapter(myFirstAdapter); 

MyAdapter mySecondAdapter = new MyAdapter(objects); 
mySecondListView.setAdapter(mySecondAdapter); 

Нельзя использовать один и тот же экземпляр адаптера для разных ListView, но вы можете использовать тот же класс с отдельным экземпляром.

3

Использование Java Generics. Создайте MyBaseAdapter с помощью дженериков. И тогда, когда вам понадобится одно и то же поведение адаптера, но с разными объектами (ученик, рабочий, ребенок), вам нужно будет изменить только имя объекта, когда вы завершите новый экземпляр адаптера.

new MyBaseAdapter<Student>(); 
new MyBaseAdapter<Worker>(); 
Смежные вопросы