В настоящее время у меня возникают проблемы с реализацией FragmentTabHost с общими данными между его вкладками.Как сохранить ссылку на объект через вкладки?
У меня есть фрагмент, содержащий FragmentTabHost настроить так:
public class TTTabContainerFragment: Android.Support.V4.App.Fragment{
TTDataSet SharedData;
//OnCreate and initialization...
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
FragmentHost = new FragmentTabHost(Activity);
FragmentHost.Setup(Activity, ChildFragmentManager);
FragmentHost.AddTab(FragmentHost.NewTabSpec("tab1").SetIndicator(Resources.GetString(Resource.String.BOOKHOUR_ITEM_BOOKING)), new TTBookHourFragment().Class, TTDataSets.CreateArgumentBundle(SharedData));
FragmentHost.AddTab(FragmentHost.NewTabSpec("tab2").SetIndicator(Resources.GetString(Resource.String.BOOKHOUR_ITEM_INFO)), new TTBookHourInfoFragment().Class, TTDataSets.CreateArgumentBundle(SharedData));
FragmentHost.AddTab(FragmentHost.NewTabSpec("tab3").SetIndicator(Resources.GetString(Resource.String.BOOKHOUR_ITEM_EXPENSES)), new TTBookHourExpenseDialog().Class, TTDataSets.CreateArgumentBundle(SharedData));
return FragmentHost;
}
public override void OnDestroyView()
{
base.OnDestroyView();
FragmentHost = null;
}
Каждая из этих вкладок необходимо иметь доступ и должны иметь возможность манипулировать данными в наборе данных SharedData. Хотя я могу «отправить данные» на фрагменты вкладки, сериализовывая/разделяя набор SharedData в пакет, ссылки на исходный DataSet в фрагменте контейнера теряются, и в фрагментах вкладки создается новый объект. Поэтому манипуляции с данными не разделяются между вкладками.
Есть ли способ поделиться данными между 3 вкладками, чтобы убедиться, что между ними сохраняются данные? Предпочтительно, не прибегая к статическим переменным.