TabActivity中監聽按鍵響應

2021-06-01 20:58:03 字數 918 閱讀 7878

在普通的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...