2012-09-06 7 views
5

私はwebViewを持っています。 WebViewはテキスト、画像、ボタンなどでHTMLを表示します。
私はいくつかのことをしたいです。

1)そのユーザーはwebViewでテキストを選択できません。

2)ボタンでクリックして長くクリックするのと同じ動作です。私は、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

あなたのウェブビューをクリック可能にしないでください。詳細を教えてください... –

+0

私はそのwebviewをクリック可能にする必要がありますが、htmlページの一部はクリック可能であってはいけません。私はそのユーザーがhtmlページのテキスト部分のコピーを作ることを望んでいません。しかしHTMLページでは、私は入力とボタンを持っています... – yugico

+0

文法のエラーを訂正してくれてありがとう... – yugico

答えて

0

addJavascriptInterface();を使用してください。 WebViewのアクティビティの内部クラスを作成します。クラスはアンドロイドとYour Jscriptの間のインターフェイスです。これにはJscriptを使用する必要があります。

関連する問題