2017-06-16 3 views
0

私はBottombarを持っています。そこからItemをクリックすると、Bottombarと画面の上部の間に残ったSpaceをFragmentが埋めるでしょう。アイテムをクリックすると、このコードが実行されます:BottombarとFragmentsで完璧なナビゲーションを実現

case R.id.navigation_search: 
        Fragment_search fragment_search = new Fragment_search(); 
        fragmentTransaction = fragmentManager.beginTransaction(); 
        fragmentTransaction.replace(R.id.fragment_container, fragment_search); 
        fragmentTransaction.addToBackStack(null); 
        fragmentTransaction.commit(); 
        return true; 

私は、BackStackにフラグメントを追加しています。すべて正常に動作しますが、ユーザーがAndroidから戻るボタンをクリックすると、前のフラグメントだけがロードされ、Bottombarはそのフラグメントが持つアイテムを選択します。それで、フラグメントが適切なアイテムと呼ばれるとき、それを行う方法は選択されますか? onFragmentChangeのようなものがありますか? BottombarからItemを選択する方法は?

ありがとうございます。

答えて

1

ボトムバーを変更する場合は、それをインターセプトして選択するアイテムを指示することができます。

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

    // Figure out which fragment is now showing and select the item in the bottom bar. 
} 

アクシオバー/ツールバーがある場合は、バック矢印を傍受する必要があります。

+0

はい、そのアイデアもありましたが、現在のフラグメントを取得する方法はありますか? 。 '' ' または ' ''断片currentFragment = getSupportFragmentManager(; '' '断片currentFragment = getFragmentManager()findFragmentById(R.id.fragment_container): – user7938448

+0

あなたのような何かを行うことができるはず).findFragmentById(R.id.fragment_container); ' 次に、選択する項目を決定するためにinstanceofを介して示された断片を参照、 ' IF(currentFragment instanceofのYourFragment){ Log.v (TAG、あなたの断片は見えます); } '' ' –

+0

しかし、今は別の部分です。 Bottombarからアイテムを選択するには? – user7938448

関連する問題