0

ユーザーがそれに触れると、前のものと同じ場所にある別のimageViewで別のアクティビティを開きます。質問は、ユーザーがまだimageViewに触れていて、指を離したことがないかどうかを知る必要があります最後のアクティビティ以降の画面の変化 (新しい imageView を指で動かせるようにするため)

タッチイベントをリッスンしようとしましたが、ビューがレンダリングされた後にユーザーがimageViewに触れ始めたときにのみタッチイベントが発生するため、指を画面から離して再度imageViewに触れ始める必要があります。これを修正したいこの質問。

私は AndroidAnnotations を使用しているので、リスナー コードは次のようになります。

@Touch(R.id.myImageView)
public void movingImageViewByUser(View view, MotionEvent event) {
    // moving the button with the user finger here
}
4

1 に答える 1

1

両方のアクティビティ間でアクセスできるグローバル変数に、タッチ イベントのステータスを格納する必要があります。

そのため、次のように別のApplication-context クラスが必要になります。

import android.app.Application;

public class GlobalVars extends Application {
    public static Boolean mouseDown = false;
}

変数には次のようにアクセスできます。

final GlobalVars globs = (GlobalVars)context.getApplicationContext();
globs.mouseDown = true;

それを念頭に置いて、これはあなたの onTouchListener がどのように見えるかであるべきです:

view.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v,MotionEvent event) {
        final GlobalVars globs = (GlobalVars)context.getApplicationContext();
        switch(event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                globs.mouseDown = true;
                break;
            case MotionEvent.ACTION_UP:
                globs.mouseDown = false;
                break;
        }
        return true;
    }
});

お役に立てれば

于 2015-04-19T14:56:08.040 に答える