频道栏目
首页 > 程序开发 > 移动开发 > 其他 > 正文
RadioGroup 和 ViewPager 实现联动效果
2017-09-11 09:31:54      个评论    来源:下午茶的博客  
收藏   我要投稿

RadioGroup 和 ViewPager 实现联动效果。

这是布局 (控件):

android:id="@+id/rg"
android:layout_width="62dp"
android:layout_height="match_parent"
android:orientation="vertical" >

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rg1"
android:text="新闻"
android:button="@null"
android:layout_gravity="center"
/>

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rg2"
android:text="关注"
android:button="@null"
android:layout_gravity="center"
/>



android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rg3"
android:text="动态"
android:button="@null"
android:layout_gravity="center"
/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rg4"
android:text="设置"
android:button="@null"
android:layout_gravity="center"
/>
android:id="@+id/pager"
android:layout_width="216dp"
android:layout_height="wrap_content"
android:layout_weight="0.48"
android:text="@string/hello_world" />

//==================================================以下是主要代码=================================================================

public class MainActivity extends FragmentActivity {


private ViewPager pa;
private List data=new ArrayList();
private RadioGroup rg;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//查找控件
rg = (RadioGroup) findViewById(R.id.rg);
//添加
data.add(new Xingweng());
data.add(new Guanzhu());
data.add(new Dongtai());
data.add(new Shezhi());
//ViewPager控件
pa = (ViewPager) findViewById(R.id.pager);
//监听事件
pa.setOnPageChangeListener(new OnPageChangeListener() {

@Override
public void onPageSelected(int arg0) {
//改变radiobutton选中状态
rg.check(rg.getChildAt(arg0).getId());

}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub

}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub

}
});

//设置适配器
Myadpader myadpader = new Myadpader(getSupportFragmentManager());
pa.setAdapter(myadpader);
//点击事件
rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.rg1:
pa.setCurrentItem(0);
break;
case R.id.rg2:
pa.setCurrentItem(1);
break;
case R.id.rg3:
pa.setCurrentItem(2);
break;
case R.id.rg4:
pa.setCurrentItem(3);
break;
default:
break;
}

}
});
}
//适配器
public class Myadpader extends FragmentPagerAdapter{


public Myadpader(FragmentManager fm) {
super(fm);
// TODO Auto-generated constructor stub
}


@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return data.get(arg0);
}


@Override
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}

}
}

点击复制链接 与好友分享!回本站首页
相关TAG标签
上一篇:【TP】【P-sensor】TP模拟P-sensor
下一篇:软件测试实验室之Eclipse
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训

版权所有: 红黑联盟--致力于做实用的IT技术学习网站