您的位置:首页 > 理论基础 > 计算机网络

Viewpager和Fragment点击滑动切换

2017-09-21 20:58 429 查看
public class ShouYeActivity extends AppCompatActivity {

private ViewPager viewPager;
private RadioGroup rg_viewpager;
private ArrayList<Fragment> list;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shouye);
//初始化控件
initview();
initFragment();
pagerradioClick();
}

/**
* viewpager和Radiogroup滑动点击监听
*/
private void pagerradioClick() {
rg_viewpager.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
for (int i = 0; i < list.size(); i++) {
RadioButton rb_potion = (RadioButton) rg_viewpager.getChildAt(i);
if (rb_potion.isChecked()) {
viewPager.setCurrentItem(i, false);
}
}
}
});
//viewpager禁止滑动
viewPager.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
}

private void initFragment() {
/**
* 创建一个Fragment集合,添加5个Fragment进去
*/
list = new ArrayList<>();
HomeFragment homeFragment = new HomeFragment();
TypeFragment typeFragment = new TypeFragment();
FindFragment findFragment = new FindFragment();
ShopFragment shopFragment = new ShopFragment();
MyFragment myFragment = new MyFragment();
list.add(homeFragment);
list.add(typeFragment);
list.add(findFragment);
list.add(shopFragment);
list.add(myFragment);
viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int position) {
return list.get(position);
}

@Override
public int getCount() {
return list.size();
}
});

}

//初始化控件
private void initview() {
viewPager = (ViewPager) findViewById(R.id.viewpager);
rg_viewpager = (RadioGroup) findViewById(R.id.rg_viewpager);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络 viewpager 布局