2012-09-06 4 views
5

나는 webView를 가지고 있습니다. WebView는 텍스트, 이미지, 버튼 등으로 HTML을 보여줍니다.
나는 몇 가지 것을 만들고 싶습니다.

1) 해당 사용자가 webView에서 텍스트를 선택할 수 없습니다.

2) 버튼을 클릭하고 길게 클릭하는 것과 동일한 동작입니다. 나는 HTML 페이지 스타일에 추가, 모두의 첫째 :android webview 콘텐츠를 선택할 수 없습니다.

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

당신의 웹뷰를 클릭 할 수 없게하고 싶지 않으세요? 정교하게하십시오 ... –

+0

나는 그 webview를 클릭 할 수 있어야하지만, html 페이지의 일부는 클릭 가능해서는 안됩니다. 나는 그 사용자가 html 페이지에서 텍스트의 일부분을 복사 할 수 있기를 원하지 않는다. 하지만 html 페이지에는 입력과 버튼이 있습니다 ... – yugico

+0

문법 오류 수정에 감사드립니다 ... – yugico

답변

0

addJavascriptInterface();를 사용 해보세요. WebView. 활동의 내부 클래스를 만듭니다. 이 클래스는 안드로이드와 Your Jscript 사이의 인터페이스입니다. 이것을 위해 Jscript를 사용해야합니다.

관련 문제