2010年11月25日 星期四

Android筆記_攔截按鍵點擊事件(以返回鍵點擊回到WebView上一頁為例)

1. 建一個點連結還是保持在原程式的網頁瀏覽,並於讀取時顯示載入中。
2. 攔截點擊"返回鍵"事件,給予相對的反應。
3. 離開程式時,詢問是否離開。

----------------------------------------
接下來第二部份,要攔截使用者點選按鍵後的事件。以本例來說,原本使用者點選"返回鍵"後,會直接回到上一個Activity,這跟我們一般在操作網頁的感覺不同,所以應該在點擊返回鍵後,進行回到上一頁的動作。

所以首先我們要攔截按鍵點擊事件,直接看程式碼:

由上圖可知:
1. 可以利用onKeyDown中,以不同的keyCode來判斷使用者點擊的按鈕,以本例來說,就以keyCode == KeyEvent.KEYCODE_BACK可以判斷使用者是否按下返回鍵。

2. 再利用WebView本身附帶的canGoBack(判斷是否有上一頁)及goBack(移置上一頁)來完成回上頁的功能。

3. onKeyDown最後會返回一個boolean,來看使用者的點擊是否生效,所以若是還有上一頁則返回false,讓程式不要回到上一個Activity

2 則留言:

魏龍龍 提到...

不好意思~請問一下 我照你把那個方法弄上去,可是案返回件都出現例外@@是我網頁問題嗎?

ola的家 提到...

應該不是網頁出錯,但實際的錯誤訊息要看log才會知道。

張貼留言