1

ビューがあります(具体的には WebView )。そのビューでは、次のようなものがあります。

setOnTouchListener(new View.OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_UP) {
            //user has clicked
        }
    }
});

これは、ユーザーがビューをタップ/クリックしたことを常に保証しますか? そうでない場合、クリックが保証されないのはどのような場合ですか??

すべてのユーザーの「クリック」を傍受したい。「クリック」は、ボタンを「クリック」するのと同じように考えてください。ただし、モバイル デバイス上だけです。このコードがさまざまなデバイスから 1 億回呼び出されることを想像してみてください。

4

2 に答える 2

2

MotionEvent.ACTION_UP画面から指を離したときです。onTouch が呼び出されると、ユーザーがビューに触れたことを確認できます。

于 2013-09-17T23:51:56.490 に答える
1

タッチが終了したときに MotionEvent.ACTION_UP が常に呼び出されるとは限りませんが (ここで述べたように: ACTION_UP not always called? )、ユーザーが画面に触れたと想定することは確かに安全です。それがAPIの説明です、IMO:

押されたジェスチャが終了しました。モーションには、最終的なリリース位置と、最後のダウンまたは移動イベント以降の中間点が含まれます。

于 2013-09-17T23:55:52.707 に答える