2016-07-08 13 views
0

フラグメントを再オープンすると、Androidはフラグメントの状態を自動的に復元し、android:idを持つ編集可能なビューの値を設定します。 MVVMCrossを使用すると、前の状態で現在のビューのバインディングのソース値が設定されます。たとえば、Book_Aの編集部分(BookTitleのIDがEditTextで、IDがある場合)を開いてフラグメントを閉じると、Book_Bを編集するためにフラグメントを開くと、Book_Bのソース値はBookTitle Book_Aの最後のEditTextの値で自動的に更新されます。これは、Androidが状態を自動的に復元したために発生します。Android(およびMVVMCross)のフラグメント状態の自動復元を防止する

Androidが自動的に状態を復元しないようにする手段はありますか?

答えて

3

MvxCachingFragmentActivityを使用している場合、またはサポートライブラリv7 MvxCachingFragmentCompatActivityを使用している場合は、ShowFragmentを上書きして、表示されるたびにフラグメントを再作成することができます。

protected override void ShowFragment(
    string tag, 
    int contentId, 
    Bundle bundle, 
    bool forceAddToBackStack = false, 
    bool forceReplaceFragment = false) 
{ 
    base.ShowFragment(tag, contentId, bundle, forceAddToBackStack, true); 
} 
関連する問題