我有3個活動A,B & C。我希望活動完成,如果我按活動中的AlertDialog上的ESCAPE按鈕
我在列表中顯示活動A中的一些視頻鏈接。如果用戶點擊一個項目,我加載活動B其中我做了一些用戶的數據驗證,如要求他提供他的登錄信息在AlertDialog。我在這個對話框中提出了兩個按鈕到登錄 & 取消。如果用戶按登錄我驗證他的信息並打開活動C我在哪裏播放他選擇的視頻。但如果用戶按下取消,我光潔度()活性乙加載活動甲。
這工作正常,如果用戶只通過burrons進行交互。
但是問題出現,當我按我的鍵盤/ d-墊ESCAPE按鈕時AlertDialog是開放的。該對話框消失,但完成()完成(B不)。我已覆蓋onKeyDown活動B其中我做了以下。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
|| keyCode == KeyEvent.KEYCODE_ESCAPE) {
Log.d(TAG, "onKeyDown : calling finish() manually");
finish();
return true;
} else
return false;
}
但是當我按ESCAPE在一個開放的AlertDialog這是行不通的。
我該如何做到這一點?
請確認是否已調用onKeyDown – jeet 2012-02-11 10:50:28