1.
//设置RadioGroup下的RadioButton的选中状态改变ViewPager页面的监听
rg_main.setOnCheckedChangeListener(new MyOnCheckedChangeListener());
2.
class MyOnCheckedChangeListener implements RadioGroup.OnCheckedChangeListener { /** * * @param group RadioGroup * @param checkedId checkedId被选中RadioButton的id */ @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId){ case R.id.rb_home: viewpage.setCurrentItem(0,false);//设置点击RadioButton切换页面是无动画 //屏蔽指定页面不可以滑动 isEnableSliding(SlidingMenu.TOUCHMODE_NONE); break; case R.id.rb_newscenter: viewpage.setCurrentItem(1,false); //指定页面可以滑动 抽取方法快捷键:ctrl+alt+m isEnableSliding(SlidingMenu.TOUCHMODE_FULLSCREEN); break; case R.id.rb_govaffair: viewpage.setCurrentItem(2,false);//参数多传一个false,表示没有动画 //屏蔽指定页面不可以滑动 isEnableSliding(SlidingMenu.TOUCHMODE_NONE); break; case R.id.rb_smartservice: viewpage.setCurrentItem(3,false); //屏蔽指定页面不可以滑动 isEnableSliding(SlidingMenu.TOUCHMODE_NONE); break; case R.id.rb_setting: viewpage.setCurrentItem(4,false); //屏蔽指定页面不可以滑动 isEnableSliding(SlidingMenu.TOUCHMODE_NONE); break; } } }
3.
/** * 根据传入参数设置是否让SlidingMenu可以滑动 * @param sliding */ private void isEnableSliding(int sliding) { MainActivity mainActivity = (MainActivity) context; mainActivity.getSlidingMenu().setTouchModeAbove(sliding);//其它地方设置TOUCHMODE_NONE }