android-如何通过手指在viewpager上滑动来禁用分页,但允许onClickListener
这是我的viewPager代码。我想禁用用户在viewPager之间滑动,但可以单击它 这是我的密码android-如何通过手指在viewpager上滑动来禁用分页,但允许onClickListener,android,android-viewpager,Android,Android Viewpager,这是我的viewPager代码。我想禁用用户在viewPager之间滑动,但可以单击它 这是我的密码 vp= (ViewPager)header.findViewById(R.id.pager); vp.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { re
vp= (ViewPager)header.findViewById(R.id.pager);
vp.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
vp.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent in=new Intent (FistActiivty.this,List.class);
in.putExtra("for","latest");
startActivity(in);
}
});
它会禁用用户刷卡,但onclicklistener在此之后不工作
如何使onclicklistener再次工作,但禁用用户刷卡 创建自定义viewpager类:
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 super.onTouchEvent(event);
}
return false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onInterceptTouchEvent(event);
}
return false;
}
public void setPagingEnabled(boolean enabled) {
this.enabled = enabled;
}
}
并在xml文件中使用它:
<mypackage.CustomViewPager
android:id="@+id/myViewPager"
android:layout_height="match_parent"
android:layout_width="match_parent" />
我正在使用这个。您需要调用
viewPager.setPaginEnabled(false)代码>
您需要创建像这样扩展ViewPager的自定义类
MyViewPager.java
public class MyViewPager extends ViewPager
{
public MyViewPager(Context context)
{
super(context);
}
public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
// Never allow swiping to switch between pages
return false;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// Never allow swiping to switch between pages
return false;
}
}
其次,您需要在定义了android.support.v4.view.ViewPager的xml中做一个更改
像这样
<YourProjectPackageName.MyViewPager
android:id="@+id/viewPager"
android:layout_width="fill_parent"
android:layout_height="match_parent" />
<YourProjectPackageName.MyViewPager
android:id="@+id/viewPager"
android:layout_width="fill_parent"
android:layout_height="match_parent" />