how to disable ViewPager swiping using android-support-v4.jar in android

只谈情不闲聊 提交于 2019-12-03 13:36:35

问题


I'm creating a android application with target on 2.2. I still want to use the ViewPager provided in the android.support-v4.jar.i want need to disable Viewpager swipping on button click.i have use following code for disable. but its don't work.

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);
            }
        });
      }
}

if u have any idea anyone.. please give me reponse.. i m waiting your response


回答1:


You will have to extend the view pager and create a custom view pager for you which can be used in the xml instead of the view pager that you get from support library and change some properties, see the code below, it worked for me. Use the customviewpager in your code, and the swiping will be disabled.

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;
    }
}


来源:https://stackoverflow.com/questions/11498402/how-to-disable-viewpager-swiping-using-android-support-v4-jar-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!