0

カスタム WebView があり、MotionEvent.ACTION_DOWN を取得したときにクリックをシミュレートしたいと考えています。私は WebView にいかなる種類の入力もしたくありません。クリック可能にする必要さえありません(.setClickable(false))。だから私がやったことは、カスタム WebView で onTouchEvent() をオーバーライドして false を返すことです。

これはうまくいきますが、クリックがありません。WebViewCore というクラスにメッセージを送信することを WebView のソース コードで確認しましたが、この通信は Android のすべてのバージョンで異なる方法で行われます。

プログラムでクリックをwebViewに送信する方法を知っている人はいますか?

これが私がやろうとしていることです:

public class VoidWebView extends WebView {


    public VoidWebView(Context context) {
        super(context);

    }
    public VoidWebView(Context context, AttributeSet attrs) {
        super(context, attrs);

    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if(event.getAction() == MotionEvent.ACTION_DOWN){
                //tell the webview that a click has been performed , it doesn't matter where the click happened

        }
        return false;
    }


}
4

2 に答える 2

3

の performClick() メソッドを探していると思いますView

詳細については、こちらを参照してください。

于 2012-11-28T16:13:19.613 に答える
0

up および down イベントをスーパー クラスに渡します。

@Override
public boolean onTouchEvent(MotionEvent event) {
    int action = event.getAction();
    if(action == MotionEvent.ACTION_DOWN || action == MotionEvent.ACTION_UP){
         super.onTouchEvent(event);
         return true;
    }
    return false;
}
于 2012-11-28T16:15:07.173 に答える