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跟随滑动的更多相关文章

  1. 【Android 界面效果27】利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果

    本文主要介绍如何利用ViewPager.Fragment.PagerTabStrip实现多页面滑动效果.即google play首页.新浪微博消息(at.评论.私信.广播)页面的效果.ViewPage ...

  2. Android 利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果

    本文主要介绍如何利用ViewPager.Fragment.PagerTabStrip实现多页面滑动效果.即google play首页.新浪微博消息(at.评论.私信.广播)页面的效果.ViewPage ...

  3. Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53205878本文出自[DylanAndroid的博客] Android中Vie ...

  4. ViewPager+Fragment取消预加载(延迟加载)(转)

    原文:http://www.2cto.com/kf/201501/368954.html 在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragmen ...

  5. Android之Viewpager+Fragment实现懒加载

    我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用.而ViewPager默认会缓存三页数据,即:Viewpager每加载一个Fra ...

  6. viewpager和fragment预加载的解决

    在使用Viewpager和fragment处理中会出现预加载的问题,最近看别人的代码,终于找到了一个很好的处理方法 能有效的解决预加载的问题,在fragment都继承一个重写setUserVisibl ...

  7. 防止ViewPager和Fragment结合使用时候的数据预加载

    不知道你们使用ViewPager和Fragment结合的时候发现一个问题没,如果你的每个Fragment都需要请求网络数据,并且你在请求网络数据的时候会加入进度对话框的加载显示效果,当你显示第一个Fr ...

  8. Android ViewPager Fragment使用懒加载提升性能

     Android ViewPager Fragment使用懒加载提升性能 Fragment在如今的Android开发中越来越普遍,但是当ViewPager结合Fragment时候,由于Androi ...

  9. ViewPager+Fragment取消预加载(延迟加载)

    在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragment有个不好或者太好的地方.例如你在ViewPager中添加了三个Fragment,当加载V ...

  10. Andriod开发技巧——Fragment的懒加载

    我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个 fragment都需要去加载数据,或从本地加载,或从网络加载,那么 ...

随机推荐

  1. go 程序设计语言 命令行参数

    最近打算读一读 go程序设计语言这本书, 读语言类的书是一件十分头疼的事情, 因为读一本书就意味着,看着一堆钳子 锥子工具的图片, 概念背了一大堆,仍然不知道怎么用,还是要通过实践. 还是习惯任务驱动 ...

  2. 关于vCenter6.7 导出的ovf 不能导入vCenter6.5/6.0的问题

    正常从6.7导出ovf文件,包含四个文件. 编辑ovf文件,删除下面五条条目, 导入6.5时, 只用 ovf 和 vmdk 这两个文件导入 ,即可!

  3. C# 通过程序执行svn更新或提交更改

    实现方法: private static void RunBat(string program, string parm) { try { Process proc = new Process(); ...

  4. Power shell 读取电量,改变屏幕亮度

    1. Get-Wmiobject  -List win32*  # 列出所有win32_信息(基本的BIOS,Battery , Memory, processor) 2.Get-WmiObject ...

  5. mysql中char和varchar的区别

    char的长度是不可变的,是定长的, varchar的长度是可变的,不定长的: 但是char的存取速度比varchar快,因为其长度固定,方便存储和查找. char空间换时间,varchar时间换空间 ...

  6. 网页识别语音插件annyang可以实现识别中文

    <html> <script src="a.js"></script> <script> if (annyang) { var co ...

  7. uniapp离线打包安卓未配置appkey或配置错误

    按照这4步检查都没问题 1.查看签名文件是否配置到了主APP的build.gradle. signingConfigs { config { keyAlias 'newPt' keyPassword ...

  8. nginx添加ssl模块

    一.在安装时添加ssl模块1.进入源码包做在的目录,进行编译,编译时添加参数–with-http_stub_status_module --with-http_ssl_module cd /usr/l ...

  9. 【三维重建】Ubuntu20.04进行RealSenseD435环境配置及初步使用

    一.环境配置 github上面的教程:https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux ...

  10. 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 ...