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文件
<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>