2016-06-09 61 views
0

我在我的應用程序中顯示活動中的對話框。當我檢測到對話框中的按鍵事件時,它正在執行多次。我必須返回到先前的活動而不關閉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

此方法正在執行多次 –

回答

1

它被調用兩次,一次按下鍵,第二次釋放它。試試這個:

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