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