Arc*_*pgc 1 android fragment onresume onpause
在片段中我有这个:
onPause(){
super.onPause();
if(flag){
getActivity.finish();
}else{
}
}
onResume(){
flag = true;
super.onResume();
}
Run Code Online (Sandbox Code Playgroud)
并且有一个Button,点击我将此标志设置为false:
Button.onClick{
flag = false;
}
Run Code Online (Sandbox Code Playgroud)
这个想法是:
单击按钮时,请勿完成此活动.但是当设备BackButton被按下finish()时.
但这种逻辑不起作用.原因是,当我按下设备的BackButton时,onPause没有被调用.
这是Activty中的第四个片段.因此,当我按BackButton时,我可以看到第3片段.我不想这样做.
我在API 10设备上使用它,但我的应用程序使用支持库v4.
谢谢.
如果要关闭背面onBackPressed的活动,请按以下方式覆盖活动内部:
public void onBackPressed() {
Fragment fragment = getSupportFragmentManager().findFragmentByTag("yourfragment");
if (fragment instanceOf YourFragmet) {
finish();
return;
}
super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)
如果要关闭按钮上的活动,则可以调用
Button.onClick{
getActivity().onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)
要么
Button.onClick{
getActivity().finish();
}
Run Code Online (Sandbox Code Playgroud)
如果在Fragments之间转换时,调用addToBackStack()作为FragmentTransaction的一部分,则后退按钮将转到后端堆栈顶部的片段