how to disable ViewPager swiping using android-support-v4.jar in android
-
21-06-2021 - |
Question
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
La solution
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;
}
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow