我目前有这个Custom ArrayList:
ArrayList<PlaceDetails> place_list = new ArrayList<PlaceDetails>();
将在onCreateView()部分填充。
我不确定如何将此ArrayList从此片段类传递到另一个片段类。以下是我的代码片段:
public void Map(View view){
if(hasConnection() == true){
Bundle b = new Bundle();
// how should I be passing the ArrayList in this bundle?
FragmentTransaction ft = getSherlockActivity().getSupportFragmentManager().beginTransaction();
TOnlineMapViewFragment mapfrag = TOnlineMapViewFragment.newInstance(b);
ft.replace(R.id.container, mapfrag).addToBackStack(null).commit();
}
}
所以我创建了bundle,我想用newInstance()方法将它传递给下一个片段。我该怎么做?
答案 0 :(得分:0)
考虑在您的课程中实施Parcelable界面。然后你就可以将PlaceDetails存储在Bundle中并将其传递给setArguments()方法。
我找到了一个教程:http://shri.blog.kraya.co.uk/2010/04/26/android-parcel-data-to-pass-between-activities-using-parcelable-classes/ 我没有测试它,但它看起来不错。
答案 1 :(得分:-2)
你真的确定需要捆绑吗?
TOnlineMapViewFragment mapfrag = TOnlineMapViewFragment.newInstance(b);
mapfrag.setPlaceList(place_list)
创建setPlaceList(ArrayList<PlaceDetails> place_list)
...