关键事件执行多次android
问题描述:
我在我的应用程序中显示活动中的对话框。当我检测到对话框中的按键事件时,它正在执行多次。我必须返回到先前的活动而不关闭dialog.can任何人有想法吗?关键事件执行多次android
@Override
public boolean onKey(DialogInterface arg0, int keyCode,
KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && IsClicked==false) {
if (GlobalApp.activity != null) {
Log.i("Activity",""+GlobalApp.activity);
IsClicked=true;
GlobalApp.activity.onBackPressed();
dialog_Footer.dismiss();
}
}
return true;
}
答
它被调用两次,一次按下键,第二次释放它。试试这个:
@Override
public boolean onKey(DialogInterface arg0, int keyCode,
KeyEvent event) {
if (event.getAction()!=KeyEvent.ACTION_DOWN) return true;
if (keyCode == KeyEvent.KEYCODE_BACK && IsClicked==false) {
if (GlobalApp.activity != null) {
Log.i("Activity",""+GlobalApp.activity);
IsClicked=true;
GlobalApp.activity.onBackPressed();
dialog_Footer.dismiss();
}
}
return true;
}
显示你当前的代码 – Shubhank
什么是多次执行? – Shubhank
此方法正在执行多次 –