Как реализовать второе меню?
Есть нижняя панель меню, хочу сделать второе меню и там при выборе "Текст1" будет ссылаться на "Главную", т.е чтобы нижняя панель тоже двигалась. Не хочу использовать Drawable Navigation, так как нужно использовать активити, а у меня все во фрагментах
Ответы (1 шт):
Делается это довольно просто. Пункт меню, это фрагмент, который будет содержать список с пунктами которые соответствуют нижнему меню. Это может быть либо список RecyclerView или просто linearLayout с какими-то textView например. Дальше когда вы нажимаете на элемент списка в фрагменте, вы используя интерфейс между этим фрагментом и активностью-контейнером. В метод интерфейса вы будете передавать id пункта нижнего меню который должен быть выбран. И по итогу в методе интерфейса который используется в активности вы производите программный выбор пункта нижнего меню:
bottomNavigationView.setSelectedItemId(R.id.main);
Как передавать данные из фрагмента в родительскую активности? Делаем интерфейс:
public interface OnDataPass {
public void onDataPass(Int data);
}
дальше в этом фрагменте подключаем интерфейс:
OnDataPass dataPasser;
@Override
public void onAttach(Context context) {
super.onAttach(context);
dataPasser = (OnDataPass) context;
}
передача данных при выборе элемента списка менюшки в фрагменте:
dataPasser.onDataPass(data);
В активности делаем implement OnDataPass:
@Override
public void onDataPass(Int data) {
Log.d("LOG","hello " + data);
}
Вот как подключаем фрагмент к интерфейсу и активность. Дальше в методе onDataPass в активности делаем через switch например:
@Override
public void onDataPass(Int data) {
switch(data){
case (1):
bottomNavigationView.setSelectedItemId(R.id.main);
}
....
}
