Android Studio实现ViewPager实现切换

这回写的是,实现ViewPager底部切换

Android Studio实现ViewPager实现切换_第1张图片

我写的这是,点击为true,和为false的两种显示,首先在drawable建一个对应的文件



    
    

主布局文件




  
    
    
        
        
        
    

这个是MainActivity里的代码

package com.example.administrator.myapplication;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;

import com.example.administrator.myapplication.Fragment.DingDanActivity;
import com.example.administrator.myapplication.Fragment.ShouYieActivity;
import com.example.administrator.myapplication.Fragment.WoDeActivity;


import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private ViewPager view_pager;
    private RadioButton shouye;
    private RadioButton dingdan;
    private RadioButton wode;
    private RadioGroup rg;
    private ArrayList list;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        init();
        setOnListener();
        list = new ArrayList<>();
        list.add(new ShouYieActivity());
        list.add(new DingDanActivity());
        list.add(new WoDeActivity());
        view_pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
            @Override
            public Fragment getItem(int i) {
                return list.get(i);
            }

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

    private void setOnListener() {
        view_pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                switch (position){
                    case 0:
                        rg.check(R.id.shouye);
                        break;
                    case 1:
                        rg.check(R.id.dingdan);
                        break;
                    case 2:
                        rg.check(R.id.wode);
                        break;
                }

            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
        rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                switch (i){
                    case R.id.shouye:
                        view_pager.setCurrentItem(0);
                        break;
                    case R.id.dingdan:
                        view_pager.setCurrentItem(1);
                        break;
                    case R.id.wode:
                        view_pager.setCurrentItem(2);
                        break;
                }
            }
        });
    }

    private void init() {
         view_pager = findViewById(R.id.view_pager);
         shouye = findViewById(R.id.shouye);
         dingdan = findViewById(R.id.dingdan);
         wode = findViewById(R.id.wode);
         rg = findViewById(R.id.rg);


    }

}

我也没标,注解,但是每个方法的意思都很简单,上网上查一下就好

你可能感兴趣的:(Android Studio实现ViewPager实现切换)