栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

ViewPager+Fragment

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ViewPager+Fragment

代码如下仅供参考

Java

package com.example.login_register;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;

import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;

import java.util.ArrayList;


public class MainActivity extends AppCompatActivity {
    RadioGroup radioGroup;
    TextView textView;
    ViewPager viewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.title);
        radioGroup = findViewById(R.id.rg);
        radioGroup.check(R.id.rb1);
        radioGroup.setonCheckedChangeListener(new RadioGroup.onCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                int c = viewPager.getCurrentItem();
                switch (i) {
                    case R.id.rb1:
                        textView.setText("首页");
                        c = 0;
                        break;
                    case R.id.rb2:
                        textView.setText("服务");
                        c = 1;
                        break;
                    case R.id.rb3:
                        textView.setText("党建");
                        c = 2;
                        break;
                    case R.id.rb4:
                        textView.setText("新闻");
                        c = 3;
                        break;
                    case R.id.rb5:
                        textView.setText("我的");
                        c = 4;
                        break;
                }
                if (viewPager.getCurrentItem() != c) {
                    viewPager.setCurrentItem(c);
                }
            }
        });
        viewPager = findViewById(R.id.viewpager);
        ArrayList fragments = new ArrayList<>();
        Fragment hf = new Home();
        Fragment sf = new Service();
        Fragment df = new Dangjian();
        Fragment nf = new News();
        Fragment pf = new Person();
        fragments.add(hf);
        fragments.add(sf);
        fragments.add(df);
        fragments.add(nf);
        fragments.add(pf);
        viewPager.setCurrentItem(0);
        viewPager.setAdapter(new Myadapter(getSupportFragmentManager(), 0, fragments));
        viewPager.setonPageChangeListener(new ViewPager.onPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                int a=viewPager.getCurrentItem();
                switch (a){
                    case 0:
                        radioGroup.check(R.id.rb1);
                        break;
                    case 1:
                        radioGroup.check(R.id.rb2);
                        break;
                    case 2:
                        radioGroup.check(R.id.rb3);
                        break;
                    case 3:
                        radioGroup.check(R.id.rb4);
                        break;
                    case 4:
                        radioGroup.check(R.id.rb5);
                        break;
                }
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
    }

    private class Myadapter extends FragmentPagerAdapter {
        ArrayList fragments;
        FragmentManager fm;

        public Myadapter(FragmentManager fm, int i, ArrayList fragments) {
            super(fm, i);
            this.fragments=fragments;
            this.fm=fm;
        }

        @NonNull
        @Override
        public Fragment getItem(int position) {
            return fragments.get(position);
        }

        @Override
        public int getCount() {
            return fragments.size();
        }
    }
}

xml



    
    
    
        
        
        
        
        

    


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666622.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号