Android ArrayAdapter,如何获取给它的构造函数的集合

时间:2014-12-08 18:29:20

标签: android android-arrayadapter

我创建的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提供了参数。 这个系列在哪里消失了?如果不在课程中创建另一个属性,我怎么能访问它呢?

1 个答案:

答案 0 :(得分:1)

看一下ArrayAdapter source code,您会发现您尝试做的事情不是原生的。

这是您使用的ArrayAdapter构造函数

ArrayAdapter(Context context, int resource, List<T> objects)

您传递的列表存储在名为mOriginalValues的变量中。并且您只能使用其他方法访问它,例如add(T object),remove(T object)等,但没有方法会返回整个列表

如果要维护此列表的跟踪,则需要将列表存储在适配器中,然后使用this等解决方案