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. CH582m串口透传程序

    目录 参考了沁恒官网22年1月更新的CH583EVT包中的UART1例程 功能:上位机通过串口1发送指令规定串口2和3的波特率,实现串口2和3之间的数据透传 担心串口3的接收中断会被串口2的发送中断打 ...

  2. jekins+shell

    1.安装jekins,常规的有直接下载war包,或者安装docker版本的安装. 2.启动命令 #war版本启动 nohup java -jar jenkins.war --ajp13Port=-1 ...

  3. Win+R 常用命令

      regedit 系统注册表编辑器 osk 打开键盘 msconfig 关闭系统开机启动项 gpedit.msc 本地组策略编辑器 nslookup IP地址侦测器 explorer 打开资源管理器 ...

  4. python_pandas常用操作

    df:任意的Pandas DataFrame对象 s:任意的Pandas Series对象 raw:行标签 col:列标签 导入依赖包: import pandas as pd import nump ...

  5. Ubuntu下安装Node.js+ThreeJs

    以具有sudo特权的用户身份运行以下命令,以下载并执行NodeSource安装脚本 curl -sL https://deb.nodesource.com/setup_16.x | sudo -E b ...

  6. SQL Server FOR XML EXPLICIT 一步步学习

    查看网址:https://www.itdaan.com/blog/2015/05/05/510cd42eb587c98bcd25ef0e5b687fd1.html

  7. Python的入门学习Day 19~21——form”夜曲编程“

    ..Day 19 time:2021.8.16. ​ 很神奇地,编程和数学渐渐有了交集--今天学习了函数,连模样都像 f(x) 的形式.比较有区分度的是,在P里,"x"被称为&qu ...

  8. blog2对PTA4,5,6集的习题总结

    一.      前言 通过本三次PTA得题目,我受益匪浅.题量的话不算太多,但是题目难度有些大.在本次PTA第六次题目集中,题目难度较中,第四次题目集第一道水文数据处理与第五次题目集的查询关键字出现次 ...

  9. 24_webpack_打包分析

    一.打包时间的分析 如果我们希望看到每一个loader和plugin消耗的打包时间,可以借助于一个插件:speed-measure-webpakc-plugin 安装:npm i speed-meas ...

  10. 【虚拟机】虚拟机安装win10

    VMware-workstation 16 pro 点击查看代码 密钥: ZF3R0-FHED2-M80TY-8QYGC-NPKYF YF390-0HF8P-M81RQ-2DXQE-M2UT6 ZF7 ...