2017-06-16 5 views
0

Ich habe eine Bottombar. Wenn du auf ein Item klickst, füllt ein Fragment den Space zwischen Bottombar und dem oberen Bildschirmrand. Wenn Sie auf einen Eintrag klicken, wird dieser Code ausgeführt werden:Machen Sie eine perfekte Navigation mit den Bottombar und Fragmente

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; 

Sie sehe ich das Fragment in die Backstack hinzuzufügen. Alles funktioniert gut, aber wenn der Benutzer auf die Zurück-Schaltfläche von Android klickt, wird nur das vorherige Fragment geladen, ohne dass das Bottombar das Element auswählt, das das Fragment hat. Wie wird das gemacht, wenn ein Fragment das passende Item genannt wird? Gibt es sowas wie onFragmentChange? Und wie wählt man Artikel aus Bottombar?

Vielen Dank im Voraus.

Antwort

1

Wenn Sie möchten, dass die Zurück-Schaltfläche die untere Leiste ändert, können Sie sie abfangen und ihr mitteilen, welches Element Sie auswählen sollen.

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

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

Sie müssen möglicherweise auch den Zurück-Pfeil abfangen, wenn Sie eine Actiobar/Symbolleiste haben.

+0

Ja, diese Idee hatte ich auch, aber wie bekomme ich das aktuelle Fragment? – user7938448

+0

Sie sollten in der Lage sein, etwas zu tun, wie:. '' 'Fragment currentFragment = getFragmentManager() findFragmentById (R.id.fragment_container);' '' oder '' 'Fragment currentFragment = getSupportFragmentManager () .findFragmentById (R.id.fragment_container); '' ' Dann sehen, welches Fragment über instanceof welches Element zu bestimmen gezeigt ist auszuwählen, ' '' if (currentFragment instanceof YourFragment) { Log.v. (TAG, "dein Fragment ist sichtbar"); } '' ' –

+0

Aber jetzt der andere Teil. Wie wähle ich den Artikel von Bottombar aus? – user7938448

Verwandte Themen