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;
}
...
}
然后在 Fragment
的 onCreate()
方法中,您可以提取参数数据并根据需要在适配器中设置它。
我是 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;
}
...
}
然后在 Fragment
的 onCreate()
方法中,您可以提取参数数据并根据需要在适配器中设置它。