viewpager加fragment可滑动加radio跟随滑动
public class MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener, ViewPager.OnPageChangeListener {
private ArrayList<Fragment> arrayList;
private FragmentManager manager;
private RadioGroup radioGroup;
private RadioButton[] radioButtons;
private ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager= (ViewPager) findViewById(R.id.main_vp);
radioGroup= (RadioGroup) findViewById(R.id.main_rg);
manager=getSupportFragmentManager();
arrayList=new ArrayList<>();
Fragment1 fragment1=new Fragment1();
Fragment2 fragment2=new Fragment2();
Fragment3 fragment3=new Fragment3();
Fragment4 fragment4=new Fragment4();
Fragment5 fragment5=new Fragment5();
arrayList.add(fragment1);
arrayList.add(fragment2);
arrayList.add(fragment3);
arrayList.add(fragment4);
arrayList.add(fragment5);
Main_Adapter adapter=new Main_Adapter(manager,arrayList);
viewPager.setAdapter(adapter);
radioButtons=new RadioButton[radioGroup.getChildCount()];
for (int i = 0; i < radioButtons.length; i++) {
radioButtons[i]= (RadioButton) radioGroup.getChildAt(i);
}
radioButtons[0].setChecked(true);
radioGroup.setOnCheckedChangeListener(this);
viewPager.setOnPageChangeListener(this);
}
@Override
public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
for (int j = 0; j < radioButtons.length; j++) {
if (radioButtons[j].getId()==checkedId){
viewPager.setCurrentItem(j);
}
}
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
radioButtons[position].setChecked(true);
}
@Override
public void onPageScrollStateChanged(int state) {
}
}
viewpager加fragment可滑动加radio跟随滑动的更多相关文章
- 【Android 界面效果27】利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果
本文主要介绍如何利用ViewPager.Fragment.PagerTabStrip实现多页面滑动效果.即google play首页.新浪微博消息(at.评论.私信.广播)页面的效果.ViewPage ...
- Android 利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果
本文主要介绍如何利用ViewPager.Fragment.PagerTabStrip实现多页面滑动效果.即google play首页.新浪微博消息(at.评论.私信.广播)页面的效果.ViewPage ...
- Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53205878本文出自[DylanAndroid的博客] Android中Vie ...
- ViewPager+Fragment取消预加载(延迟加载)(转)
原文:http://www.2cto.com/kf/201501/368954.html 在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragmen ...
- Android之Viewpager+Fragment实现懒加载
我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用.而ViewPager默认会缓存三页数据,即:Viewpager每加载一个Fra ...
- viewpager和fragment预加载的解决
在使用Viewpager和fragment处理中会出现预加载的问题,最近看别人的代码,终于找到了一个很好的处理方法 能有效的解决预加载的问题,在fragment都继承一个重写setUserVisibl ...
- 防止ViewPager和Fragment结合使用时候的数据预加载
不知道你们使用ViewPager和Fragment结合的时候发现一个问题没,如果你的每个Fragment都需要请求网络数据,并且你在请求网络数据的时候会加入进度对话框的加载显示效果,当你显示第一个Fr ...
- Android ViewPager Fragment使用懒加载提升性能
Android ViewPager Fragment使用懒加载提升性能 Fragment在如今的Android开发中越来越普遍,但是当ViewPager结合Fragment时候,由于Androi ...
- ViewPager+Fragment取消预加载(延迟加载)
在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragment有个不好或者太好的地方.例如你在ViewPager中添加了三个Fragment,当加载V ...
- Andriod开发技巧——Fragment的懒加载
我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个 fragment都需要去加载数据,或从本地加载,或从网络加载,那么 ...
随机推荐
- go 程序设计语言 命令行参数
最近打算读一读 go程序设计语言这本书, 读语言类的书是一件十分头疼的事情, 因为读一本书就意味着,看着一堆钳子 锥子工具的图片, 概念背了一大堆,仍然不知道怎么用,还是要通过实践. 还是习惯任务驱动 ...
- 关于vCenter6.7 导出的ovf 不能导入vCenter6.5/6.0的问题
正常从6.7导出ovf文件,包含四个文件. 编辑ovf文件,删除下面五条条目, 导入6.5时, 只用 ovf 和 vmdk 这两个文件导入 ,即可!
- C# 通过程序执行svn更新或提交更改
实现方法: private static void RunBat(string program, string parm) { try { Process proc = new Process(); ...
- Power shell 读取电量,改变屏幕亮度
1. Get-Wmiobject -List win32* # 列出所有win32_信息(基本的BIOS,Battery , Memory, processor) 2.Get-WmiObject ...
- mysql中char和varchar的区别
char的长度是不可变的,是定长的, varchar的长度是可变的,不定长的: 但是char的存取速度比varchar快,因为其长度固定,方便存储和查找. char空间换时间,varchar时间换空间 ...
- 网页识别语音插件annyang可以实现识别中文
<html> <script src="a.js"></script> <script> if (annyang) { var co ...
- uniapp离线打包安卓未配置appkey或配置错误
按照这4步检查都没问题 1.查看签名文件是否配置到了主APP的build.gradle. signingConfigs { config { keyAlias 'newPt' keyPassword ...
- nginx添加ssl模块
一.在安装时添加ssl模块1.进入源码包做在的目录,进行编译,编译时添加参数–with-http_stub_status_module --with-http_ssl_module cd /usr/l ...
- 【三维重建】Ubuntu20.04进行RealSenseD435环境配置及初步使用
一.环境配置 github上面的教程:https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux ...
- mysql 优化表空间报错Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again
背景:mysql数据库中有几个表的碎片率太高,浪费了存储空间且降低了读写效率,需要整理. mysql版本:5.6 先用optimize table 试试. 也执行了很久.但是结束后,data_free ...