Android 是否避免在按下“后退”按钮时关闭警报对话框?
首先我想说的是,这是通过看一个教程来完成的。这是我从广播接收器调用的自定义警报对话框活动部分。唯一的问题是“后退”按钮单击。警报对话框活动启动后,当我按下后退按钮时,它将关闭Android 是否避免在按下“后退”按钮时关闭警报对话框?,android,broadcastreceiver,android-alertdialog,back,Android,Broadcastreceiver,Android Alertdialog,Back,首先我想说的是,这是通过看一个教程来完成的。这是我从广播接收器调用的自定义警报对话框活动部分。唯一的问题是“后退”按钮单击。警报对话框活动启动后,当我按下后退按钮时,它将关闭 public class AlertDialogActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState
public class AlertDialogActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.setFinishOnTouchOutside(false);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
setContentView(R.layout.activity_inmsgdialog);
}
@Override
public void onBackPressed()
{
super.onBackPressed();
Toast.makeText(getApplicationContext(), "Back Pressed", Toast.LENGTH_SHORT).show();
}
}
我已尝试过按下后退按钮,我可以看到toast消息,但活动即将结束。您可以使用下面的选项来处理后退按钮的按下
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//your code
return true;
} else {
}
}
请看这里:
@Override
public void onBackPressed()
{
super.onBackPressed(); //Remove this line
Toast.makeText(getApplicationContext(), "Back Pressed", Toast.LENGTH_SHORT).show();
}
不要调用
super.onBackPressed()如果要禁用“活动”的“后退”按钮,请选择“代码>代码”。所以把这条线去掉。希望能有所帮助。不要宣传这件事,你应该做得很好
@Override
public void onBackPressed()
{
//don't call super
}
我现在就试试,让你知道。你可以通过删除'super.onBackPressed()'来实现同样的效果,但它可能会导致内存泄漏。super.onBackPressed()//删除这一行酷,几秒钟之前,我会得到所有的赞成票!