我有一个BaseAdapter
列表视图,需要List<objects>
,我想将它重用于不同的列表。我该怎么做?
答案 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>();