viewPager+RadioGroup TableLayout侧滑栏

package com.example.lianxi;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.widget.RadioButton;
import android.widget.RadioGroup;

import com.example.lianxi.fragment.OneFragment;
import com.example.lianxi.fragment.ThreeFragment;
import com.example.lianxi.fragment.TwoFragment;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

private RadioButton zt;
private RadioButton fx;
private RadioButton my;
private RadioGroup rg;
private ViewPager viewpager;
private ArrayList<Fragment> list;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initData();
    initView();
    viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int i, float v, int i1) {

        }

        @Override
        public void onPageSelected(int i) {
            if (i==0){
                rg.check(R.id.zt);
            }
            if (i==1){
                rg.check(R.id.fx);
            }
            if (i==2){
                rg.check(R.id.my);
            }
        }

        @Override
        public void onPageScrollStateChanged(int i) {

        }
    });

    rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            if (checkedId==R.id.zt){
                viewpager.setCurrentItem(0);
            }
            if (checkedId==R.id.fx){
                viewpager.setCurrentItem(1);
            }
            if (checkedId==R.id.my){
                viewpager.setCurrentItem(2);
            }
        }
    });
}

private void initData() {
    list = new ArrayList<>();
    list.add(new OneFragment());
    list.add(new TwoFragment());
    list.add(new ThreeFragment());
}


private void initView() {
    zt = (RadioButton) findViewById(R.id.zt);
    fx = (RadioButton) findViewById(R.id.fx);
    my = (RadioButton) findViewById(R.id.my);
    rg = (RadioGroup) findViewById(R.id.rg);
    viewpager = (ViewPager) findViewById(R.id.viewpager);
    设置适配器
    viewpager.setAdapter(new MyAdapter(getSupportFragmentManager()));

}
class MyAdapter extends FragmentPagerAdapter{


    public MyAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int i) {
        return list.get(i);
    }

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

}
xml文件

<?xml version="1.0" encoding="utf-8"?>







<android.support.v4.view.ViewPager
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:id="@+id/viewpager"
android:layout_above="@+id/rg"></android.support.v4.view.ViewPager>

package com.example.lianxi.fragment;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.lianxi.R;
import com.example.lianxi.adapter.MyAdapter;

import java.util.ArrayList;
import java.util.List;

public class OneFragment extends Fragment {
private TabLayout tabLayout;
private ViewPager viewpager;
private List fragmentList=new ArrayList<>();
private List title=new ArrayList<>();

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.one, null);
    initData();
    initView(view);
    return view;
}

private void initData() {
    fragmentList.add(new TjFragment());
    fragmentList.add(new ZdFragment());
    title.add("推荐");
    title.add("站点");
}

private void initView(View view) {
    tabLayout = (TabLayout) view.findViewById(R.id.tabLayout);
    viewpager = (ViewPager) view.findViewById(R.id.viewpager);
    viewpager.setAdapter(new MyAdapter(getChildFragmentManager(),fragmentList,title));
    tabLayout.setupWithViewPager(viewpager);
}

}

<?xml version="1.0" encoding="utf-8"?>


<android.support.design.widget.TabLayout
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:id="@+id/tabLayout"></android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:id="@+id/viewpager"></android.support.v4.view.ViewPager>

猜你喜欢

转载自blog.csdn.net/weixin_43629061/article/details/84301855
今日推荐