Assassin_Chan 2017-05-05 04:32 采纳率: 0%
浏览 979

安卓编程,我把侧滑和底部radiobutton结合,可是点击radiobutton没反应

点击radiobutton之后 fragment不加载 有人知道为什么吗

  • 写回答

1条回答 默认 最新

  • ziyejinwei1994 2017-05-05 06:11
    关注
     public class MainActivity extends FragmentActivity {
    
        private MyLazyViewpager pager;
        private RadioButton home_page;
        private RadioButton find;
        private RadioButton my;
        private RadioGroup group;
        List<Fragment> fragments = new ArrayList<>();
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            initView();
            initData();
        }
    
        private void initView() {
            pager = (MyLazyViewpager) findViewById(R.id.pager);
            home_page = (RadioButton) findViewById(R.id.home_page);
            find = (RadioButton) findViewById(R.id.find);
            my = (RadioButton) findViewById(R.id.my);
            group = (RadioGroup) findViewById(R.id.group);
            fragments.add(new HomeFragment());
            fragments.add(new FindFragment());
            fragments.add(new MyFragment());
        }
    
        private void initData() {
            FragmentPagerAdapter adapter = new FragmentPagerAdapter(getSupportFragmentManager()) {
                @Override
                public Fragment getItem(int position) {
                    return fragments.get(position);
                }
    
                @Override
                public int getCount() {
                    return fragments.size();
                }
            };
            pager.setAdapter(adapter);
            group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(RadioGroup radioGroup, int i) {
                    switch (i) {
                        case R.id.home_page:
                            pager.setCurrentItem(0, false);
                            break;
                        case R.id.find:
                            pager.setCurrentItem(1, false);
                            break;
                        case R.id.my:
                            pager.setCurrentItem(2, false);
                            break;
                    }
                }
            });
            pager.setCurrentItem(0);
            pager.setOnPageChangeListener(new MyLazyViewpager.OnPageChangeListener() {
                @Override
                public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    
                }
                @Override
                public void onPageSelected(int position) {
                    switch (position) {
                        case 0:
                            group.check(R.id.home_page);
                            break;
                        case 1:
                            group.check(R.id.find);
                            break;
                        case 2:
                            group.check(R.id.my);
                            break;
                    }
                }
    
                @Override
                public void onPageScrollStateChanged(int state) {
    
                }
            });
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?