私は のViewPager
中に を持っていScrollView
ます。垂直方向だけでなく水平方向にもスクロールできる必要があります。これを達成するためには、横にスクロールできるように、ViewPager
タッチするたびに垂直スクロールを無効にする必要がありました ( )。v.getParent().requestDisallowInterceptTouchEvent(true);
しかし同時に、viewPager をクリックして全画面モードで開くことができるようにする必要があります。
問題は、onClick の前に onTouch が呼び出され、私の 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);
}
});