0

ImageViewの中に がありScrollViewます。はImageViewクリック可能で、新しい が開きますActivity

ScrollView をスクロールして最初に画像に触れて (ただし、まだ指を離していない)、スクロールしようとすると、onTouch()oronClick()メソッドが起動します (両方で試しました...)

これが私のコードです:

btnAdd.setOnTouchListener(new OnTouchListener() {
       @Override
       public boolean onTouch(View v, MotionEvent event) {
           Intent intent = new Intent(Intent.ACTION_EDIT);
           startActivity(intent);
           return true;
       }
});

私が言ったように、私も試してみましたonClick()...

私は何を間違っていますか?

4

1 に答える 1

2

OnTouchListener がトリガーされると、複数のアクション (Action Down、Action Up など) をリッスンし、それらすべてを実行するため、新しいアクティビティを開始するタイミングを正確に指定する必要があります (この場合は Action Up)。だからこれを使ってみてください:

 btnAdd.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_UP){
                Intent intent = new Intent(Intent.ACTION_EDIT);
                startActivity(intent);
            }
            return true;
        }
    });
于 2012-12-07T13:25:29.440 に答える