私は、1つがもう一方の上に追加された(置き換えられない)多数のフラグメントを持っています。 また、最初のスタックを期待してバックスタックに追加されました。ハードウェアBACK Btnが初めて動作しない
フラグメントA - >フラグメントB - >フラグメントC
私は断片Bの午前と私はハードウェア戻るBTNプレスを行うときにこれフラグメントA. にしかし、断片Cに戻ってきたときに、ハードウェア戻るBTN機は正常に動作します、初めて何も起こりませんし、私は次のログを取得:
W/IInputConnectionWrapper:finishComposingText非アクティブ InputConnection上
した後にハードウェアの2回目の試行でBtnを押すと、onBackPressed()がアクティビティで呼び出され、フラグメントCがポップされ、フラグメントBが表示されます。
フラグメントCのTextInputLayoutに多数のEdit Textラッパーがありますが、この動作につながる可能性があるかどうかはわかりません。
誰かが最初に私は理由を理解してもらえますか?BackPressed()が呼び出されず、上記の警告が表示されます。
おかげ
private void navigateToFragment(@NonNull Fragment fragment, boolean addToBackStack, int enterAnim, int exitAnim, int popEnterAnim, int popExitAnim) {
FragmentManager fragmentManager = getSupportFragmentManager();
final FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.setCustomAnimations(enterAnim, exitAnim, popEnterAnim, popExitAnim);
transaction.add(R.id.member_address_root, fragment, fragment.getClass().getSimpleName());
if (addToBackStack){
transaction.addToBackStack(fragment.getTag());
}
transaction.commit();
}
がありますキーボードの存在または "onBackPressed"イベントを消費する可能性のあるものはありますか? – Vucko
表示されません。表示されていても、onKeyDown()は呼び出されませんか?それでも呼び出されません。 – Sunny
あなたはフラグメントCのコードを共有できますか? –