在ViewPager Android中重置/交换两个片段
我的在ViewPager Android中重置/交换两个片段,android,android-fragments,xamarin,tabs,android-viewpager,Android,Android Fragments,Xamarin,Tabs,Android Viewpager,我的ViewPager中有两个片段以及选项卡。我的应用程序中有一个设置选项,允许用户在ViewPager中选择默认片段 以下是我尝试过的: btnSaveLayout.Click += delegate { var selectedId = radioGroupLayout.CheckedRadioButtonId; radioButtonLayout = dialog.FindVi
ViewPager
中有两个片段以及选项卡。我的应用程序中有一个设置选项,允许用户在ViewPager中选择默认片段
以下是我尝试过的:
btnSaveLayout.Click += delegate
{
var selectedId = radioGroupLayout.CheckedRadioButtonId;
radioButtonLayout = dialog.FindViewById<RadioButton>(selectedId);
layoutPreference = radioButtonLayout.Text;
mEditor.PutString("DefaultLayout", layoutPreference);
mEditor.Commit();
dialog.Dismiss();
SetupViewPager(layoutPreference); ;
};
private void SetupViewPager(string layoutPref)
{
adapter = new ViewPagerAdapter(SupportFragmentManager);
pager = FindViewById<ViewPager>(Resource.Id.tabanim_viewpager);
if (string.IsNullOrEmpty(layoutPref) || layoutPref.Equals("First View"))
{
adapter.AddFrag(new FirstFragment(), "First");
adapter.AddFrag(new SecondListFragment(), "List");
}
else
{
adapter.AddFrag(new SecondListFragment(), "List");
adapter.AddFrag(new FirstFragment(), "First");
}
pager.Adapter = null;
pager.Adapter = adapter;
adapter.NotifyDataSetChanged();
tabLayout.SetSelectedTabIndicatorColor(Color.Aqua);
tabLayout.SetupWithViewPager(pager);
}
btnSaveLayout.单击+=委派
{
var selectedId=radioGroupLayout.CheckedRadioButtonId;
radioButtonLayout=dialog.FindViewById(selectedId);
layoutPreference=radioButtonLayout.Text;
mEditor.PutString(“DefaultLayout”,layoutPreference);
mEditor.Commit();
dialog.dismise();
SetupViewPager(布局首选项);
};
专用void SetupViewPager(字符串布局pref)
{
适配器=新的ViewPagerAdapter(SupportFragmentManager);
pager=findviewbyd(Resource.Id.tabanim\u viewpager);
if(string.IsNullOrEmpty(layoutPref)| | layoutPref.Equals(“第一视图”))
{
AddFrag(新的FirstFragment(),“First”);
AddFrag(新的SecondListFragment(),“List”);
}
其他的
{
AddFrag(新的SecondListFragment(),“List”);
AddFrag(新的FirstFragment(),“First”);
}
pager.Adapter=null;
pager.Adapter=适配器;
adapter.NotifyDataSetChanged();
表格布局。设置选定的标签或颜色(颜色为浅绿色);
tabLayout.SetupWithViewPager(寻呼机);
}
这样,选项卡会更改,但片段保持不变,即选项卡的标题会更改,但与它们关联的视图保持不变。我怎样才能解决这个问题
感谢您的帮助