如何为多个列表重用BaseAdapter视图

时间:2015-04-01 00:52:01

标签: java android

我有一个BaseAdapter列表视图,需要List<objects>,我想将它重用于不同的列表。我该怎么做?

2 个答案:

答案 0 :(得分:3)

您可以为所需的每个ListView创建一个新实例。

例如,假设您有一个名为MyAdapter的BaseAdapter和两个ListView。

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

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

您不应该为不同的ListView使用相同的适配器实例,但是您可以使用具有不同实例的相同类。

答案 1 :(得分:3)

使用Java Generics。使用泛型创建MyBaseAdapter。然后,当您需要相同的适配器行为但使用不同的对象(学生,工作人员,孩子)时,您将需要在停止新适配器实例时仅更改对象名称。

new MyBaseAdapter<Student>();
new MyBaseAdapter<Worker>();