Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 934
Akash Singh Avatar asked Jul 16 '12 05:07

Akash Singh


1 Answers

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;
    }
}
like image 54
Yashwanth Kumar Avatar answered Nov 08 '22 22:11

Yashwanth Kumar