ViewPaper和Fragment

2017.10.08
今天我学了ViewPaper,
1.先在布局文件中写好ViewPaper组件,V4包下的,因为可以兼容低版本的。
2.新创你所需要的Fragment类继承V4包下的Fragment
3.继承FragmentActivity
4.新建ViewPaper的适配器,并传替getSupportFragment(),适配器继承FragmentPagerAdapter
5.给RadioGroup设定监听器setOnCheckedChangeListener ,main_viewPaper.setCurrentItem(0);
6.给ViewPaperiewPape设定监听器addOnPageChangeListener,main_rg.check(R.id.main_date_rbtn);

public class MainActivity extends FragmentActivity{
    private RadioGroup main_rg;
    private ViewPager main_viewPaper;
    private List<Fragment> fragmentList;
    private Fragment fragment_date;
    private Fragment fragment_server;
    private Fragment fragment_plugin;
    private Fragment fragment_setup;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
        fragmentList=new ArrayList<>();
        fragment_date= new DateFragment();
        fragment_server=new ServerFragment();
        fragment_plugin=new PluginFragment();
        fragment_setup=new SetupFragment();
        fragmentList.add(fragment_date);
        fragmentList.add(fragment_server);
        fragmentList.add(fragment_plugin);
        fragmentList.add(fragment_setup);
        main_viewPaper.setAdapter(new MyAdapter(getSupportFragmentManager(),fragmentList));
        main_viewPaper.setCurrentItem(0);


        main_rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {
                switch (i){
                    case R.id.main_date_rbtn:
                        main_viewPaper.setCurrentItem(0);
                        //Toast.makeText(MainActivity.this,"666",Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.main_server_rbtn:
                        //ServerFragment Server=new ServerFragment();
                        main_viewPaper.setCurrentItem(1);
                        break;
                    case R.id.main_plugin_rbtn:
                        //PluginFragment Plugin=new PluginFragment();
                        main_viewPaper.setCurrentItem(2);
                        break;
                    case R.id.main_setup_rbtn:
                        main_viewPaper.setCurrentItem(3);
                        //SetupFragment Setup=new SetupFragment();
                        break;
                }
            }
        });
     main_viewPaper.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
         @Override
         public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

         }

         @Override
         public void onPageSelected(int position) {
             switch (position){
                 case 0:
                     main_rg.check(R.id.main_date_rbtn);
                     break;
                 case 1:
                     main_rg.check(R.id.main_server_rbtn);
                     break;
                 case 2:
                     main_rg.check(R.id.main_plugin_rbtn);
                     break;
                 case 3:
                     main_rg.check(R.id.main_setup_rbtn);
                     break;
             }
         }

         public void onPageScrollStateChanged(int state) {

         }
     });
    }
    private void init() {
        main_rg= (RadioGroup) findViewById(R.id.main_radionGroup);
        main_viewPaper= (ViewPager) findViewById(R.id.main_viewPaper);
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_37543460/article/details/78174125
今日推荐