Java 反压的Android片段

Java 反压的Android片段,java,android,android-fragments,Java,Android,Android Fragments,我的片段转换发生得很奇怪。按下后退按钮后,我试图打开新片段: //removed code 然后,当我在家时,如果没有我再次按back键,它将关闭应用程序: // removed code 我不明白为什么从一个片段切换到另一个片段共享同一个onKey?它的行为应该是这样的:我按下片段2,打开主片段,在主片段内我再次按下,然后它关闭应用程序 目前它是这样工作的:fragment 2返回按,打开home fragment,我不碰任何东西,它进入home fragment中的onKey 有什么想法

我的片段转换发生得很奇怪。按下后退按钮后,我试图打开新片段:

//removed code
然后,当我在家时,如果没有我再次按back键,它将关闭应用程序:

// removed code
我不明白为什么从一个片段切换到另一个片段共享同一个onKey?它的行为应该是这样的:我按下片段2,打开主片段,在主片段内我再次按下,然后它关闭应用程序

目前它是这样工作的:fragment 2返回按,打开home fragment,我不碰任何东西,它进入home fragment中的onKey

有什么想法吗?提前感谢。

删除完成调用“getActivity().finish();”然后重试

v.setFocusableInTouchMode(true);
    v.requestFocus();
    v.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if( keyCode == KeyEvent.KEYCODE_BACK ) {
                getActivity().moveTaskToBack(true);
                return true;
            } else {
                return false;
            }
        }
    });
如果没有,请尝试其他解决方案…将此方法添加到父活动中

@Override
public void onBackPressed() {
 FragmentManager fragmentmanager = getSupportFragmentManager();

 if(fragmentmanager.getBackStackEntryCount() > 0){
         fragmentmanager.popBackStack();
    } else{
        finish();
    }
}

不,当我从片段2调用主片段时,它仍然会自动关闭。它会出现一个超级复制器短暂的瞬间,然后自行关闭。好吧,为什么在这里使用back task。。在父Activity中执行,因为我想在再次返回父Activity之前将其设置为返回主片段。它告诉我方法不会从其超类重写。我的家庭片段正在扩展片段,尽管它不是那样工作的。因为我得到了不同的部分,它们有不同的用途,所以基本上在每个部分,当我回按时,我想打开主片段,而不是慢慢地一个一个地弹出它们。例如,我从设置到费用再到配置文件,当我回按配置文件时,我想回到家里,而不是配置文件->费用->设置->回家,我想解释一下吗?