我在我的活动中使用了标签页布局,它有两个标签页。当我切换到另一个标签页时,当前标签页片段被破坏,另一个标签页从头开始创建(从Oncreate()生命周期方法),我以前曾经这样做过。
private void Tablayout_TabSelected(object sender, TabSelectedEventArgs e)
{
Tab tab = e.Tab;
if (tab.Position == 0)
{
SupportFragmentManager.BeginTransaction().Replace(Resource.Id.fragmentContainerView, listFrag ??= new MusicListFragment(), "ListFrag").Commit();
}
else if (tab.Position == 1)
{
SupportFragmentManager.BeginTransaction().Replace(Resource.Id.fragmentContainerView, favFrag ??= new FavoriteSongsFragment(), "FavFrag").Commit();
}
}
将整个片段保存在内存中而不是每次都创建一个新片段,这难道不是一个好主意吗?
或者我如何改进我的切换?
1条答案
按热度按时间sxpgvts31#
"试试这个"
使用FragmentPagerAdapter是一种简单且工作良好的方法
1.创建
class
扩展FragmentPagerAdapter
1.在您的适配器中遵循以下代码
主要活动