2

Androidを始めたばかりで、シンプルなライブ壁紙を作っています。2.1エミュレーターでテストしています。問題は、「壁紙の設定」を選択する前にプレビュー画面で動作している間、壁紙として選択すると、タッチイベントが画面に登録されないように見えることです。マニフェストにタッチ イベントなどを機能させるために何かを記述する必要がありますか? なぜそれが一方では機能し、他方では機能しないのか少し混乱しました。

public void handleTouchEvent(MotionEvent event) {
    if(event.getAction() == MotionEvent.ACTION_UP) {
        //add new BulletHole
        int x = (int)event.getX();
        int y = (int)event.getY();
        synchronized(holes) {
            holes.add(new BulletHole(x,y));
        }
    }

    this.pause = false;     
    synchronized(this) {
        notify();
    }
}
4

2 に答える 2

2
    @Override
    public void onCreate(SurfaceHolder surfaceHolder) {
        super.onCreate(surfaceHolder);

        // By default we don't get touch events, so enable them.
        setTouchEventsEnabled(true);
    }

??? この縫い目は役に立ちますか?

于 2010-08-14T14:26:35.443 に答える
1

この質問が少し古いことは知っていますが、これは、グーグルでこれに出くわしたすべての人に当てはまります。setTouchEnabled 関数には注意してください。これは 2.1 と 2.1 では完全に機能しますが、Android のそれ以降のすべてのバージョンではアプリがクラッシュします。

于 2012-09-08T19:20:05.180 に答える