我创建的class
继承自ArrayAdapter
:
private class myAdapter extends ArrayAdapter<Member>{
public myAdapter() {
super(getActivity().getApplicationContext(), R.id.myLayout, myList);
}
public void myMethod() {
// What do I write here in order to get the given list?
}
}
正如您在constructor
中看到的那样,我在list
函数中为super
提供了参数。
这个系列在哪里消失了?如果不在课程中创建另一个属性,我怎么能访问它呢?
答案 0 :(得分:1)
看一下ArrayAdapter source code,您会发现您尝试做的事情不是原生的。
这是您使用的ArrayAdapter构造函数
ArrayAdapter(Context context, int resource, List<T> objects)
您传递的列表存储在名为mOriginalValues
的变量中。并且您只能使用其他方法访问它,例如add(T object),
或remove(T object)
等,但没有方法会返回整个列表
如果要维护此列表的跟踪,则需要将列表存储在适配器中,然后使用this等解决方案