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之前将其设置为返回主片段。它告诉我方法不会从其超类重写。我的家庭片段正在扩展片段,尽管它不是那样工作的。因为我得到了不同的部分,它们有不同的用途,所以基本上在每个部分,当我回按时,我想打开主片段,而不是慢慢地一个一个地弹出它们。例如,我从设置到费用再到配置文件,当我回按配置文件时,我想回到家里,而不是配置文件->费用->设置->回家,我想解释一下吗?