Я использую фрагмент контейнера (основной), который содержит еще два фрагмента (скажем, A и B), основной фрагмент содержит некоторые методы, которые необходимо вызывать, когда пользователь нажимает кнопку внутри любого из двух фрагментов (A иB).
Я использовал статический метод (а затем вызываю эти методы, создавая объект основного фрагмента), и он работает нормально, но это не лучшая практика, а также снижает производительность мобильного приложения.Кто-то сказал мне использовать интерфейс для вызова метода, но я не знаю, как использовать интерфейс для выполнения моей задачи.код моего основного фрагмента, который нужно вызвать
public void updateEditText(int i) {
switch (i) {
case 1:
bottomSheetBehaviorTeacher.setState(BottomSheetBehavior.STATE_EXPANDED);
break;
case 2:
bottomSheetBehaviorStudent.setState(BottomSheetBehavior.STATE_EXPANDED);
break;
case 3:
bottomSheetBehaviorAdmin.setState(BottomSheetBehavior.STATE_EXPANDED);
break;
}
}
, когда пользователь нажимает эти кнопки в фрагменте A
addTeachers.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//listener.onInputASent(1);
}
});
addStudents.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//listener.onInputASent(2);
}
});
и во фрагменте B
addAdminbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//mainLayoutFragment.BottomSheet_layout_admin();
//listener.onInputASent(3);
}
});