我已將自定義鍵盤添加到我的Fragment中,現在我想要在按下後按下時實現關閉鍵盤。如何將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
通話時屏幕旋轉,因爲我在public void onActivityCreated(final Bundle savedInstanceState)
每次fragmentPopped=false
創建CustomKeyboard,因此可以加到CustomKeyboard到堆棧中一個以上的時間。
我的問題:
是否有可能加入到BackStackEntry如果堆棧中沒有使用 getBackStackEntryCount()
方法存在?
https://developer.android.com/ reference/android/app/FragmentManager.html#POP_BACK_STACK_INCLUSIVE –
你想直接回答你的問題還是想解決你多次調用的問題? – Elltz
@Elltz我想直接回答我的問題 –