Android 如何将对象发送到新片段
Android how to send objects to new fragment
我想将一些数据从片段发送到新片段。我知道这可以通过捆绑来完成,但我不知道如何使用它们,尤其是我自己的对象。
我用这样的新片段替换我的旧片段:
Fragment newFragment = new SecondFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.frame_container, newFragment);
transaction.addToBackStack("saveState");
transaction.commit();
所以现在我想将此数据发送到 "newFragment"。
private List<MyObject> objectList;
如何将此 objectList 放入新的 Bundle 中?
编辑:
另外,如何将旧片段中的包发送到新片段?
使用 GSON 库:
您的自定义对象必须实现 Parcelable。 Parcelable 是一种告诉 Android 在通过 Bundle 传递时如何重建自定义对象的方法。
http://developer.android.com/reference/android/os/Parcelable.html
一旦您的对象实现了 Parcelable,您就可以使用 putParcelableArrayList(String key, ArrayList value)
将您的列表放入 Bundle 中
第一次有点棘手,但你会成功的 =)
有很多可用的教程。
我想将一些数据从片段发送到新片段。我知道这可以通过捆绑来完成,但我不知道如何使用它们,尤其是我自己的对象。
我用这样的新片段替换我的旧片段:
Fragment newFragment = new SecondFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.frame_container, newFragment);
transaction.addToBackStack("saveState");
transaction.commit();
所以现在我想将此数据发送到 "newFragment"。
private List<MyObject> objectList;
如何将此 objectList 放入新的 Bundle 中?
编辑:
另外,如何将旧片段中的包发送到新片段?
使用 GSON 库:
您的自定义对象必须实现 Parcelable。 Parcelable 是一种告诉 Android 在通过 Bundle 传递时如何重建自定义对象的方法。 http://developer.android.com/reference/android/os/Parcelable.html
一旦您的对象实现了 Parcelable,您就可以使用 putParcelableArrayList(String key, ArrayList value)
将您的列表放入 Bundle 中第一次有点棘手,但你会成功的 =) 有很多可用的教程。