在普通的activity中我們可以通過重寫onkeydown(int keycode, keyevent event)方法實現對手機按鍵進行監聽,而當要監聽的activity為tabactivity時(其實listactivity也一樣),這個方法並不起作用。如何解決這個問題呢?
乙個activity繼承了tabactivity,當我按下返回鍵時會退出程式,退出程式之前需要給使用者乙個確認提示。常規方法,像上文說的,重寫onkeydown(int keycode, keyevent event),在方法中寫相應的按鍵處理;但是這個方法在tabactivity中並沒有起作用,主要原因是當前activity的焦點放在了tab中的子activity中了,在tabactivity中得不到想要的焦點,所以按鍵操作並不起作用。
看了下sdk文件,發現有乙個dispatchkeyevent(keyevent event)
,可以通過監聽event操作,再判斷是哪乙個按鍵來實現對應的按鍵操作,注意在if判斷中要加乙個event.getaction() == keyevent.action_down判斷,因為按鍵有兩個事件action_down和action_up,也就是按下和鬆開,如果不加這個判斷,**會執行兩遍,而在下面的**中就是彈兩次alertdialog。
public boolean dispatchkeyevent(keyevent event)
}).setpositivebutton("確定",
new dialoginte***ce.onclicklistener()
});alertdialog alert = builder.create();
alert.show();
return false;
} return super.dispatchkeyevent(event);
};
TabActivity中監聽按鍵響應
在普通的activity中我們可以通過重寫onkeydown int keycode,keyevent event 方法實現對手機按鍵進行監聽,而當要監聽的activity為tabactivity時 其實listactivity也一樣 這個方法並不起作用。如何解決這個問題呢?乙個activity繼承...
在TabActivity中如何新增BACK鍵響應
在普通的activity中我們可以通過重寫onkeydown int keycode,keyevent event 方法實現對手機按鍵進行監聽,而當要監聽的activity為tabactivity時 其實listactivity也一樣 這個方法並不起作用。如何解決這個問題呢?乙個activity繼承...
TabActivity子類中處理返回鍵事件
最近使用tabactivity,按下返回鍵卻發現onkeydown方法根本沒有被呼叫,google之,有人說需要在每個子activity中實現相應的監聽,無奈過於麻煩。override public boolean onkeydown intkeycode,keyevent event return...