fest Ich habe ein Fragment mit einem ViewPager
(fragment_main
) in meinem MainActivity
. Auf meiner MainActivity
habe ich eine BottomNavigationView
. Ich möchte die fragment_main
's ViewPager
' Seite einstellen, wenn ich auf die Elemente von BottomNavigationView
klicke. Wie kann ich das tun?Legen Sie die ViewPager-Seite des Kindfragments von Aktivität
PS: Ich habe es schon funktionieren, aber ich glaube nicht, dass ich eine gute way.I bekam setzen einen refrence meiner ViewPager
in meinem Fragment verwendet und ich den Artikel:
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
MainFragment mainFragment = null;
switch (item.getItemId()){
case R.id.nav_item_feed:
mainFragment =(MainFragment)getSupportFragmentManager().findFragmentById(R.id.main_frame);
mainFragment.viewPager.setCurrentItem(0);
break;
}
}
Es funktioniert! Aber das Problem ist: Was ist, wenn ich ein anderes Fragment auf meinem MainActivity
habe? Sicher, ich kann es zuerst mit fragment_main ersetzen, aber es braucht Zeit und mainFragment =(MainFragment)getSupportFragmentManager().findFragmentById(R.id.main_frame)
gibt null zurück.
Also, was ist der beste Weg, Fragments Viewpager-Seite, Inside Elternaktivität zu setzen?
Könnten Sie den Code mehr erklären bitte? – Apptic