在TabActivity如何新增按鍵響應

2021-06-08 08:26:14 字數 969 閱讀 8510

我知道,在普通的activity中可以重寫onkeydown(int keycode, keyevent event)方法對手機按鍵進行監聽,

而當要監聽的activity為tabactivity時(其實listactivity也一樣),這個方法並不起作用。下面是解決辦法:

今天就為這個事糾結了很久,正在開發的應用的首頁是乙個tabactivity,當使用者按下返回鍵時會退出程式,

而這可能是使用者無意而為之的,所以當使用者按下返回鍵時要給乙個提示。常規方法,像上文說的,

重寫onkeydown(int keycode, keyevent event),根本不起作用;

又發現sdk2.0以後新增了乙個專門針對返回鍵的方法onbackpressed(),還是不起作用。

google了很久,也沒發現什麼好的解決辦法。只有自己動手了,開啟sdk文件,仔細看了一下,

發現有乙個dispatchkeyevent(keyevent 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中如何新增BACK鍵響應

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

SpriteBuilder中如何給精靈新增幀動畫

首先你必須準備若干幅,當然最好做成smart sprite sheet。開啟乙個ccb檔案,並滑鼠選擇根節點的ccsprite物件。保持前者選中且timeline的當前時間點把手在最左邊,然後切換到sprite sheet 資料夾,多選開頭準備的滑鼠右鍵單擊create keyframes from...

在VMWare中Redhat安裝完成後新增包的方法

1.安裝好vmware tools,具體方法參照yujiananhai寫的vmware tools 的安裝 寫的比較詳細 2.在vmware的 摘要試圖 中設定 使用iso映像 將含有你所需要的包的iso檔案選為iso映像 3.利用mount將cdrom掛接入系統 mount dev cdrom m...