将对象传递给片段

时间:2015-04-12 13:25:53

标签: android-fragments

我正在尝试将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注释的值,但是当我正常运行时,我可以使用系统输出命令。

0 个答案:

没有答案