は、コードの下に使用してみてください:答えを
public class CustomViewPager extends ViewPager {
private boolean enabled;
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
this.enabled = true;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (this.enabled) {
return true;
}
return false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (this.enabled) {
if (event.getAction() == MotionEvent.ACTION_DOWN && event.getEdgeFlags() == MotionEvent.EDGE_LEFT) {
return true; //disable swipe
}
}
return false;
}
public void setPagingEnabled(boolean enabled) {
this.enabled = enabled;
} }
おかげで、それが動作していません私のために。私はトーストをIFブロックの中に入れ、コントロールがIFブロックの中に入ることがないことを知りました。また、 "setOnTouchListenerが呼び出されましたが、performOnClickをオーバーライドしません"という警告が表示されています。また、ViewPagerはAutoScrollViewPagerであり、違いがないことを願っています。 @ rafsanahmad007 –
なぜ動作していないのか正確には分かりません。しかし、これを見てください:https://stackoverflow.com/questions/6645537/how-to-detect-the-swipe-left-or-right-in-android and https://stackoverflow.com/questions/12884250/motionevent-in-scrollview-in-android?noredirect = 1&lq = 1 – rafsanahmad007
scrollviewは常にビュー内のタッチイベントをインターセプトします... – rafsanahmad007