ArrayAdapter传递给setAdapter方法

时间:2015-01-14 02:31:07

标签: java android eclipse

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

1 个答案:

答案 0 :(得分:0)

在片段中创建工厂方法(示例假定您的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;
    }
    ...
}

然后在Fragment的{​​{1}}方法中,您可以提取参数数据并根据需要在适配器中设置它。