我正在尝试将ArrayList作为参数传递给片段,但参数似乎是空的。 这是我创建和发布片段的mainActivity的代码,它可以工作。
ArrayList<HashMap<String, String>> myeventListRefImages; //has data
imageFragment = new ImageMyEventRefFragment();
fragmentManager.findFragmentById(fragmentId);
if (findViewById(R.id.fragment_image) != null) {
if (savedInstanceState != null) {
return;
}
getIntent().putExtra("mERImageList", myeventListRefImages); //working
Bundle bundle = new Bundle(); //doesn’t work
bundle.putSerializable("mERImageList", myeventListRefImages);//doesn’t work
imageFragment.setArguments(bundle);
[…]
}
到目前为止,我只能用putExtra来管理它,但在这种情况下,额外的似乎永远不会是空的,如果我想跳过if参数,那就很烦人:( 那是我片段的代码:
public void onStart() {
super.onStart();
Bundle args = getArguments();//doesn’t work //empty at all
Bundle extras = getActivity().getIntent().getExtras();//works
if (args != null) {
System.out.println("Args!");
}
}
有什么想法吗?我事件无法调试片段以检查应用程序崩溃时getArugments注释的值,但是当我正常运行时,我可以使用系统输出命令。