-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);
}