关键事件执行多次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; 
     } 
+0

显示你当前的代码 – Shubhank

+0

什么是多次执行? – Shubhank

+0

此方法正在执行多次 –

它被调用两次,一次按下键,第二次释放它。试试这个:

@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; 
    }