在TabActivity中如何新增BACK鍵響應

2021-08-27 10:20:35 字數 934 閱讀 4485

在普通的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也一樣 這個方法並不起作用。下面是解決辦法 今天就為這個事糾結了很久,正在開...

TabActivity中監聽按鍵響應

在普通的activity中我們可以通過重寫onkeydown int keycode,keyevent event 方法實現對手機按鍵進行監聽,而當要監聽的activity為tabactivity時 其實listactivity也一樣 這個方法並不起作用。如何解決這個問題呢?乙個activity繼承...

TabActivity中監聽按鍵響應

在普通的activity中我們可以通過重寫onkeydown int keycode,keyevent event 方法實現對手機按鍵進行監聽,而當要監聽的activity為tabactivity時 其實listactivity也一樣 這個方法並不起作用。如何解決這個問題呢?乙個activity繼承...