本文出處:http://bbs.9ria.com/thread-204406-1-1.html
在做自動更新的時候,彈出Dialog提示,要求是只能點擊更新或者取消更新時Dialog才會消失。但是在這個時候用戶可能點擊返回鍵,怎么讓Dialog不消失呢?
首先想到重寫Activity的onKeyDown,后來發現沒有什么卵用。
百度了一下,找到原因了。不應該截取activity的 onkeydown事件,而應該截取dialog的key響應事件,當dialog在前台顯示的時候,keylistener首先會派發到dialog里面,在Dialog里監聽。
OnKeyListener keylistener = new DialogInterface.OnKeyListener(){ public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { if (keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0) { return true; } else { return false; } } } ;
然后為Dialog設置監聽
dialog.setOnKeyListener(keylistener)