Я считаю, что вопрос в этом контексте рассматривается в разных контекстах на основе ответов здесь. Согласно оценке, требуется способность сосредоточиться на конкретном элементе BottomNavigationView
(определенно в новом классе, содержащем разные фрагменты).
Теперь у вас могут быть кнопки BottomNavigationView ИЛИ или что-либо, что можно щелкнуть, чтобы запустить новую активность по намерению: - т.е.
Intent intent = new Intent(getActivity(), New_Activity.class);
intent.putExtra("EXTRA_PAGE, 1);
startActivityForResult(intent, 30);
Затем - в нашей New_Activity мы получаем намерение-
Намерение намерение = getIntent(); int page = намерение.getExtras().getInt("EXTRA_PAGE);
Затем мы перебираем переменную страницы, чтобы найти номер/индекс, для которого отражается текущий BottomNavigationView, ЗАТЕМ мы устанавливаем наш пункт меню фокуса (при условии, что ваш BottomNavigationView имеет Пункт меню для его отображения)
if(page == 1) {
currentselect = new Pending();
bottomNavigationView.getMenu().getItem(0).setChecked(true);
}
Это отвечает на вопрос выше. Остальная часть переключателя Fragment хорошо обрабатывается количеством сообщений выше, вызывая:
bottomNavigationView.setOnNavigationItemSelectedListener(navListener);
Затем что-то вроде:
private BottomNavigationView.OnNavigationItemSelectedListener navListener =
new BottomNavigationView.OnNavigationItemSelectedListener(){
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment selectedFrag = null;
switch (item.getItemId()) {
case R.id.pending:
selectedFrag = new Pending();
break;
case R.id.onTransmit:
selectedFrag = new inTransmit();
break;
case R.id.complete:
selectedFrag = new Complete();
break;
}
getSupportFragmentManager().beginTransaction().replace(R.id.select_field, selectedFrag).commit();
return true;
}
};
ПРИМЕЧАНИЕ. Использование BottomNavigationView и ContentFrameLayout слишком экономично и сократит ваш код более чем на 50 %, в отличие от использования подобных ViewPager и < strong>Вкладка
person
Mbanda
schedule
12.12.2018