【问题标题】:how to disable ViewPager swiping using android-support-v4.jar in android如何在 android 中使用 android-support-v4.jar 禁用 ViewPager 刷卡
【发布时间】:2012-07-16 05:07:45
【问题描述】:

我正在创建一个目标为 2.2 的 android 应用程序。我仍然想使用 android.support-v4.jar 中提供的 ViewPager。我需要禁用 Viewpager 在按钮单击时滑动。我使用以下代码进行禁用。但它不起作用。

public class ServiesDeail extends FragmentActivity{

    ServiesTitleFragmentAdapter mAdapter;
    ViewPager mPager;
        int position = 0 ;

    @SuppressWarnings({ "rawtypes", "unchecked" })
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mastermenu);

        LinearLayout lnrparent = (LinearLayout) findViewById(R.id.LL_001);
        LayoutInflater inflater = (LayoutInflater)                                                         this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View view = inflater.inflate(R.layout.menu_deatil, null);
        lnrparent.addView(view);

        mAdapter = new ServiesTitleFragmentAdapter(getSupportFragmentManager());

        mPager = (ViewPager) findViewById(R.id.pagerone);
        mPager.setAdapter(mAdapter);


        TitlePageIndicator indicator = (TitlePageIndicator) findViewById(R.id.indicatorone);
        indicator.setViewPager(mPager,position);

            Menu_Button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                mPager.setClickable(false);
            }
        });
      }
}

如果你有任何想法任何人..请给我回复..我正在等待你的回复

【问题讨论】:

    标签: android android-fragments android-fragmentactivity


    【解决方案1】:

    您必须扩展视图分页器并为您创建一个自定义视图分页器,它可以在 xml 中使用,而不是您从支持库获得的视图分页器并更改一些属性,请参见下面的代码,它适用于我。在您的代码中使用 customviewpager,滑动将被禁用。

    public class CustomViewPager extends ViewPager{
    
        public CustomViewPager(Context context){
            super(context);
        }
    
        public CustomViewPager(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        @Override
        public boolean onInterceptTouchEvent(MotionEvent ev){
            return false;
        }
    
        @Override
        public boolean onTouchEvent(MotionEvent ev){
            return false;
        }
    }
    

    【讨论】:

    • 感谢您的回复..这是不可能的我使用片段视图有多个布局使用..所以我使用了这种方法然后无法在片段@yashwanth上使用多个任务
    • 我无法理解您的评论,在类中声明一个变量以检查是否必须禁用滑动,并从您使用 viewPager 的活动中控制它。
    • 我已经在我的类中扩展了 FragmentActivity .. 那么如何扩展另一个类 Viewpager .. 有问题吗? @yashwanth kumar
    • 我看到你在 xml 中声明 viewPager,所以不要使用 viewPager,而是使用我在 xml 中提到的自定义类,比如 而不是 ,我没有要求为您的活动扩展 viewPager。我会稍微改变一下答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    相关资源
    最近更新 更多