-1
我正在使用Xamarin和MVVMCross框架的android上工作。我想更新从片段管理器中删除片段以处理后退按钮,因为我必须在后台堆栈中进行交叉引用的屏幕之间导航。所以我想从堆栈中删除重复的条目。它从堆栈中删除重复项,但不会更新带有最新碎片的BackStackEntryCount。从Xamarin中移除片段管理器中的重复片段Android
我已经写代码
public override void OnFragmentChanged(IMvxCachedFragmentInfo fragmentInfo)
{
if (fragmentInfo != null)
{
var ifExists =
SupportFragmentManager.Fragments?.FirstOrDefault(x => x.Tag.ToLower() == fragmentInfo.Tag.ToLower());
if (ifExists != null)
{
var indexOf = SupportFragmentManager.Fragments.IndexOf(ifExists);
var total = SupportFragmentManager.BackStackEntryCount;
for (int i = indexOf + 1; i < total; i++)
{
SupportFragmentManager.Fragments.RemoveAt(i);
}
}
}
base.OnFragmentChanged(fragmentInfo);
}