我正在开发一个Android应用,其中第一个屏幕是记录屏幕。登录成功后出现主屏幕。但问题是,当我按下“返回”按钮时,它会再次进入登录屏幕。所以当我在主屏幕时,我想禁用后退按钮,并显示一个警告框询问
你确定要退出吗?
我搜索了很多例子,但没有找到任何完美的解决方案
我尝试过使用public void onBackPressed() {}
方法但不知道要实施什么。
和
我的最低SDK版本是15
答案 0 :(得分:2)
如果您的实际愿望是阻止用户返回登录活动,您也可以使用其他选项:
和最后
覆盖家庭活动中的onBackPressed()方法。但正如我所说,如果你只想阻止用户返回,你不应该覆盖这种方法。他们应该能够按下后退按钮并退出应用程序。
public void onBackPressed(){
}
答案 1 :(得分:2)
在您的活动中,只需覆盖onBackPressed()
@Override
public void onBackPressed() {
AlertDialog diaBox = AskOption();
diaBox.show();
}
private AlertDialog AskOption()
{
AlertDialog myQuittingDialogBox =new AlertDialog.Builder(this)
.setTitle("Exit")
.setMessage("Are you sure you want to exit?")
.setIcon(R.drawable.delete)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.create();
return myQuittingDialogBox;
}
答案 2 :(得分:1)
将OnBackPressed()
方法留空。对我来说
答案 3 :(得分:0)
覆盖onBackPressed()
并删除第super.onBackPressed();
行
@Override
public void onBackPressed() {
}
知道何时按下它不会再回去。
答案 4 :(得分:0)
使用onbackpressed()
@Override
public void onBackPressed(){
//super.onBackPressed();
}
我希望这会对你有帮助..
答案 5 :(得分:0)
你需要覆盖onBackPressed()并删除super.onBackPressed()行
@Override
public void onBackPressed() {
super.onBackPressed(); // remove this line
}
同时,如果您登录并导航到主屏幕,最佳做法是完成登录屏幕并导航到主屏幕。因此用户不会再次看到登录屏幕.. 我来告诉你一个示例场景
答案 6 :(得分:0)
当您从登录页面导航到主页时,将OnBackPressed()保留为空,并执行完成()登录活动
答案 7 :(得分:0)
非常简单,只需覆盖背压并删除超级调用,如:
@Override
public void onBackPressed(){
}
将此方法留空,您将获得所需内容。
答案 8 :(得分:0)
@Override
public void onBackPressed() {
// do nothing.
}
不要返回true.Just检查条件。