ArrayAdapter 传递给 setAdapter 方法

ArrayAdapter passed to setAdapter method

我是 android 的新手。我有一个从 ActionBarActivity 扩展并实现 NavigationdrawerFragment 的 MainActivity。我在 MainActivity 中初始化了一个 ArrayList,我想将该数组传递给 NavigationDrawerFragment 以填充我的抽屉布局。我做不到,因为 setAdapter 方法是在 NavigationdrawerFragment.java 而不是 MainActivity.java 内部调用的。我不知道如何处理这个过程,有什么解决方案吗?

在您的片段中创建一个工厂方法(示例假设您的 ArrayList 是 String 对象):

public class NavigationDrawerFragment extends Fragment {
    private static final String ARG_KEY_INIT_DATA = "init_data";

    public static NavigationDrawerFragment createInstance(ArrayList initData) {
        Bundle args = new Bundle();
        args.putStringArrayList(ARG_KEY_INIT_DATA, initData);
        NavigationDrawerFragment frag = new NavigationDrawerFragment();
        frag.setArguments(args);
        return frag;
    }
    ...
}

然后在 FragmentonCreate() 方法中,您可以提取参数数据并根据需要在适配器中设置它。