![](/img/trans.png)
[英]android -How to disable paging by swiping with finger on viewpager but allow onClickListener
[英]How to disable viewpager swiping with finger touch which extends PagerAdapter in android
我有視圖尋呼機的滑塊。 和我有適配器擴展PagerAdapter
。 問題是:我不想用手指滑動滑塊。 這意味着,我希望它能夠自動運行。
public class TopFoodSlider_adapter extends PagerAdapter {
private Context context;
private List<top_food_slider> slideList;
private int custom_postion = 0;
private int t =0;
public TopFoodSlider_adapter(Context context, List<top_food_slider> slideList) {
this.context = context;
this.slideList = slideList;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return (view == object);
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position)
{
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.top_food_slider_item,container,false);
top_food_slider slid = slideList.get(custom_postion);
custom_postion++;
int img=slid.getImg_src();
ImageView imageView=view.findViewById(R.id.imageView);
imageView.setImageResource(img);
container.addView(view);
if (custom_postion>=slideList.size())
custom_postion = 0;
return view;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((LinearLayout)object);
}
}
您可以通過擴展StoryViewPager
並覆蓋onTouchEvent
和onInterceptTouchEvent
來禁用滑動。
class NoSwipingViewPager @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null
) : ViewPager(context, attrs) {
override fun onTouchEvent(event: MotionEvent): Boolean {
return false
}
override fun onInterceptTouchEvent(event: MotionEvent): Boolean {
return false
}
}
您可以在以下答案中了解有關此內容的更多信息: 如何通過在ViewPager中用手指輕掃來禁用分頁但仍然能夠以編程方式輕掃?
我希望這有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.