2012-09-06 89 views
5

我有一個webView。 WebView顯示HTML文本,圖像,按鈕等。
我想做幾件事。

1)該用戶無法在webView中選擇文本

2)點擊和長按按鈕的行爲相同。android webview內容不可選

我爲解決我的問題,接下來的事情:所有的 首先,我加入到HTML頁面風格:

body { 
    ... 
    -webkit-user-select: none; 
    -webkit-touch-callout: none; 
    ... 
} 

但它並沒有幫助我。這個解決方案並不適用於所有的機器人。
所以我試圖添加觸摸監聽器到webView。

代碼監聽:

webView.setOnTouchListener(new OnTouchListener() { 

    private float prevX; 
    private float prevY; 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 

     boolean handled = true; 
     if (MotionEvent.ACTION_DOWN == event.getAction()) { 
      prevX = event.getX(); 
      prevY = event.getY(); 
     } else if (MotionEvent.ACTION_UP == event.getAction()) { 
      if (Math.abs(event.getX() - prevX) < 50 
        && Math.abs(event.getY() - prevY) < 50) { 
       handled = (event.getEventTime() - event 
         .getDownTime()) > 200; 
      } 
     } 

     Log.d("-------------------------------------------------", ""+handled); 

     return handled; 
    } 

}); 

但是,這也不能工作,可能是我做了什麼了嗎? 之後,我嘗試添加長按聽衆:

webView.setOnLongClickListener(new OnLongClickListener() { 

    @Override 
    public boolean onLongClick(View v) { 
     v.performClick(); 
     return true; 
    } 
}); 

該解決方案只解決了第一個問題。

那麼,我哪裏出錯了?

+0

你想讓你的webview不應該點擊或其他任何其他?請詳細說明... –

+0

我希望webview應該是可點擊的,但是html頁面的某些部分不應該是可點擊的。我不希望該用戶可以在html頁面中複製部分文本。但在html頁面中,我有輸入和按鈕... – yugico

+0

感謝修正語法錯誤... – yugico

回答

0

嘗試使用addJavascriptInterface();的WebView。創建一個活動的內部類。該類是android和你的Jscript之間的接口。你必須爲此使用Jscript。