5

私はwebViewを持っています。WebView は、テキスト、画像、ボタンなど
を含む html を表示します。

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

2) ボタンによるクリックとロング クリックの同じ動作。

問題を解決するために次のことを行いました。まず、html ページ スタイルに追加しました。

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

しかし、それは私を助けませんでした。このソリューションは、すべての Android では機能しませんでした。
そこで、タッチリスナーを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;
    }
});

このソリューションは、最初の問題のみを解決します。

それで、どこで間違ったのですか?

4

1 に答える 1

0

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

于 2013-06-28T06:12:41.050 に答える