2013-02-12 38 views
3

我想能夠找出什麼對象是在WebView任意(x,y)點,最好不會導致頁面上有任何更改。我正在開發針對Android的輔助功能應用,在鏈接激活之前需要標識鏈接的目標;長久以來的鏈接(可惜)不是一種選擇。獲取HitTestResult的任意點

getHitTestResult基本上是我想要的,但只適用於當前的「光標節點」。我找不到關於這個「光標節點」的任何文檔,但我懷疑它需要在目標點出現觸摸事件。

回答

0

沒有辦法找到一個點節點元素,但如果你希望覆蓋網頁視圖的鏈接點擊事件fonctionnality你可以這樣做:

使用setWebViewClient添加WebViewClient到你的Web視圖方法。 然後重寫shouldOverrideUrlLoading()方法,並檢查給定的目標網址

提示:如果返回true,URL將不會被加載,因爲這意味着你的本機應用程序正在處理它。

代碼示例:

webview.setWebViewClient(new WebViewClient() { 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       if (isUrlGood(url)) 
        return false; //the webview can load the url 
       else 
        return true; //avoid the webview from loading this url 
     } 
}); 
+0

我需要之前識別鏈接*目標*激活鏈接。 – nneonneo 2013-04-12 15:22:02

+0

你的意思是在被點擊之前?這是一個更大的JavaScript問題,在javascript中實現它,並在webview和java代碼之間進行一點點通信以恢復它... – Guian 2013-04-12 15:36:18

相關問題