Comment puis-je détecter un clic dans une onTouch auditeur?

J'ai un ViewPager à l'intérieur d'un ScrollView. J'ai besoin d'être en mesure de faire défiler horizontalement ainsi que verticalement. Afin d'atteindre cet dû désactiver le défilement vertical chaque fois que mon ViewPager est touché (v.getParent().requestDisallowInterceptTouchEvent(true);), de sorte que vous pouvez faire défiler horizontalement.

Mais en même temps j'ai besoin d'être en mesure de cliquer sur le viewPager pour l'ouvrir en mode plein écran.

Le problème est que onTouch est appelée avant onClick et mon OnClick n'est jamais appelée.

Comment puis-je mettre en œuvre à la fois sur appuyez sur un onClick?

viewPager.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        System.out.println("TOUCHED ");
        if(event.getAction() == MotionEvent.???){
            //open fullscreen activity
        }
        v.getParent().requestDisallowInterceptTouchEvent(true); //This cannot be removed
        return false;
    }
});

viewPager.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        System.out.println("CLICKED ");
        Intent fullPhotoIntent = new Intent(context, FullPhotoActivity.class);
        fullPhotoIntent.putStringArrayListExtra("imageUrls", imageUrls);
        startActivity(fullPhotoIntent);
    }
});
  • Avez-vous essayé de retourner true de onTouch?