2016-08-11 11 views
2

サンプルアプリケーションを作成して、ユーザーが特定のアクティビティを開始し、特定のボタンをクリックすると、一部のデータを表示するようにしました(この時点ではフラグメントがアクティビティに追加されました) フラグメントをクリックし、アクティビティを削除して親アクティビティに移動します。ユーザーが正常に戻って特定のボタンフラグメントにクリックしたときにバックプレスでフラグメントのみを削除する

android.support.v4.app.FragmentManager fragmentManager = ((FragmentActivity) context).getSupportFragmentManager(); 
fragmentManager.popBackStack(); 

はまた、私は別のアクションで同じコードを使用することを行うには、このコードを使用しました。
誰もが

+0

ハンドルonBackPresse() –

+0

バックスタックにフラグメントを追加し、それが自動的に動作します、あなたが戻って心配する必要はありませんが、次に押します。 –

+0

サイドバーに番号または関連する質問があります[これを試してください](http://stackoverflow.com/a/7992472/2900127) – 7geeky

答えて

0

オーバーライドを(スタックに追加されている唯一のフラグメントを飛び出しようaddToBackStack(TAG)でそのフラグメントを追加する必要が断片のみ)を削除し、削除するためにことを解決するために私を助けることができます断片。フラグメントのバックスタックは、フラグメントではなくトランザクションを格納するため、別の方法で動作します。したがって、フラグメントを破棄するのではなく、トランザクションを返すことはできません。

0

すると、あなたが戻って押したとき、それはonBackPressed

6

フラグメントを作成するときにバックスタックにフラグメントを追加し、アクティビティでonBackPressedを上書きします。

は、フラグメント

FragmentManager mFragmentManager = ((FragmentActivity) context).getSupportFragmentManager(); 
FragmentTransaction ft = mFragmentManager.beginTransaction(); 
ft.addToBackStack("tag of fragment"); 
ft.add("your container id", fragment); 
ft.commit(); 

onBackPress

@Override 
public void onBackPressed() { 
    if (mFragmentManager.getBackStackEntryCount() > 0) 
     mFragmentManager.popBackStackImmediate(); 
    else super.onBackPressed(); 
} 
0

これは私がbackstackを削除するフラグメントにフラグメントをbackpressin処理するための作業で追加します。

@Override 
public void onResume() { 
    super.onResume(); 

    if (getView() == null) { 
     return; 
    } 

    getView().setFocusableInTouchMode(true); 
    getView().requestFocus(); 
    getView().setOnKeyListener(new View.OnKeyListener() { 
     @Override 
     public boolean onKey(View view, int keyCode, KeyEvent keyEvent) { 

      if (keyEvent.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) { 

       Toast.makeText(getActivity(), "Clicked Back", Toast.LENGTH_SHORT).show(); 
       getActivity().finish(); 
       return true; 
      } 
      return false; 
     } 
    }); 
} 
関連する問題