我是android新手。我有一个MainActivity,它从ActionBarActivity扩展并实现了NavigationdrawerFragment。我初始化MainActivity中的ArrayList,我想将该数组传递给NavigationDrawerFragment以填充我的drawerlayout。我不能这样做,因为在NavigationdrawerFragment.java中调用了setAdapter方法而不是MainActivity.java。我不知道如何处理这个过程,任何解决方案?
答案 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}}方法中,您可以提取参数数据并根据需要在适配器中设置它。