我希望应用程序在用户按下“后退”按钮时显示警告消息,如果用户选择“是”,它将返回。我在导航图片段中。
我在堆栈溢出中搜索了很多次并尝试过:
@Override
public void onBackPressed() {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Save Or Not");
builder.setMessage("Do you want to save this? ");
builder.setPositiveButton("Save", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
/*Go back:-I dont know how*/
}
});
builder.setNegativeButton("Discard",null);
builder.show();
}
但是显示给定错误: 方法不会从其超类覆盖方法
编辑: 我想在导航图片段
中设置onBackPressedListener(手机返回按钮)答案 0 :(得分:2)
在使用Fragments 1.1.0(现在处于alpha版本)时,您可以遵循Provide custom back navigation documentation,它显示了如何注册OnBackPressedCallback
,这使您可以注册{{1} }片段中的回调:
onBackPressed()
答案 1 :(得分:1)
将此行添加到按钮clicklistner MainActivity.super.onBackPressed();
中
替换为MainActivity
builder.setPositiveButton("Save", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
MainActivity.super.onBackPressed();
//Replace your Activity name insted of MainActivity
}
});
答案 2 :(得分:0)
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Replace Your Own Action Like Adding Toast etc and Also SuperOnbackprssed or any overriden method
dialog.cancel();
}
});