Я добавил пользовательскую клавиатуру к своему фрагменту, и теперь я хочу реализовать закрывающуюся клавиатуру, когда нажимается назад.Как добавить BackStackEntry в BackStack, если он не существует
class CustomKeyboard
{
public void init(Context context) {
//...
FragmentManager fragmentManager = ((Activity) context).getFragmentManager();
boolean fragmentPopped = fragmentManager.popBackStackImmediate(TAG, 0);
if (!fragmentPopped) {
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.addToBackStack(TAG);
fragmentTransaction.commit();
}
}
}
Проблема заключается в init
вызовов каждый раз, когда экран поворачивается, потому что я создаю CustomKeyboard в public void onActivityCreated(final Bundle savedInstanceState)
fragmentPopped=false
каждый раз, так CustomKeyboard могут быть добавлены к BackStack более чем один раз.
Мой вопрос:
Можно ли добавить BackStackEntry к BackStack, если не существует без использования getBackStackEntryCount()
метод?
https://developer.android.com/ reference/android/app/FragmentManager.html # POP_BACK_STACK_INCLUSIVE –
вы хотите, чтобы ваш вопрос ответил прямо или вы хотите решить вашу проблему с несколькими вызовами? – Elltz
@Elltz Я хочу, чтобы мой вопрос ответил прямо –