我正在开发一个Xamarin Android应用程序,我有一个主要活动和一个包含四个片段的Tab Fragment。从MainActivity我发送了一个parcelable对象到Tab Fragment,通过参数(正如我所说,它包含4个片段)。 问题是我需要将此对象发送到片段1,此片段将对象发送到片段2,依此类推。这些片段中的每一个都需要更改同一对象的某些不同属性。它就像一个向导形式,每个标签都是一个步骤。 我该怎么做?如何将对象从片段发送到下一个片段?
我希望我说清楚。 提前谢谢。
以下是一些代码行:
//In the MainActivity
private void ListItemClicked(int position)
{
//this way we don't load twice, but you might want to modify this a bit.
if (position == oldPosition)
return;
oldPosition = position;
Android.Support.V4.App.Fragment fragment = null;
switch (position)
{
case 0:
fragment = FragmentHome.NewInstance();
break;
case 1:
sheet = new Hoja();
bundle = new Bundle();
pa = Parcel.Obtain();
bundle.PutParcelable("sheet", sheet);
pa.WriteBundle(bundle);
pa.SetDataPosition(0);
fragment = TabFragment.NewInstance();
fragment.Arguments = bundle;
break;
}
SupportFragmentManager.BeginTransaction()
.Replace(Resource.Id.content_frame, fragment)
.Commit();
}
//In the TabFragments class receive the object
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
//var ignored = base.OnCreateView(inflater, container, savedInstanceState);
parcelable_sheet = (Hoja)Arguments.GetParcelable(PARCEL_KEY);
}