1

このチュートリアルに従って、ビューの onTouchEvent() メソッドですべての MotionEvents が渡される単純なジェスチャー検出器があります。

http://android-developers.blogspot.com/2010/06/make-sense-of-multitouch.html

画面に触れたときに指の周りに円を描く私のコードのサンプル:

@Override
public boolean onTouchEvent(MotionEvent ev) {
    // send the touch event to the gesture detector
    if (mBuildupDetector.onTouchEvent(ev)) {
        Log.d(LOG_TAG, "onTouchEvent(): Gesture consumed.");
    } else {
        Log.d(LOG_TAG, "onTouchEvent(): Gesture not consumed.");
    }
    switch (curAction) {
        case MotionEvent.ACTION_DOWN: {
                  drawCircle();
            }
    }
}

次に、ジェスチャー検出器のプライベート サブクラスを作成します。

private class BuildupListener extends GestureDetector.SimpleOnGestureListener {
    @Override
    public boolean onDown(MotionEvent ev) {
        Log.d("BuildupListener", "onDown(): Triggered.");
        return true;
    }
}

したがって、ユーザーが画面に触れてモーション イベントを生成すると、ジェスチャが実際に「消費された」という確認が得られ、GestureDectector の onDown メソッドで円の直径を変更できます。ただし、呼び出されて実行されたように見えても、onDown からログは書き出されません。

ロギングに関する基本的なこと、およびプライベート サブクラスまたはジェスチャ ディテクタ内からロギングを行う方法が不足していますか?

ありがとう、

ポール

4

1 に答える 1

0

問題が見つかりました。LogCat のエラーだったと思います。Eclipse から [LogCat] タブを削除して再度有効にすると、すべてのログが期待どおりに表示されました。

于 2010-12-29T01:46:15.143 に答える