package com.bwie.zhoukao2demo.fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
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.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.bwie.zhoukao2demo.R;
import java.util.ArrayList;
/**
* author:Created by WangZhiQiang on 2017-10-19.
* 1--Tablayout
* *viewpager里三个子fragment(一个里面有数据)
*/
public class MainFragment extends Fragment {
private TabLayout tabLayout;
private ViewPager viewpager;
ArrayList fragmentList = new ArrayList<Fragment>();
String[] temp = {"你的 ","我的","他的"};
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_a, null);
tabLayout = (TabLayout) view.findViewById(R.id.tl_titles);
viewpager = (ViewPager) view.findViewById(R.id.viewpager);
return view;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
// fragment中嵌套fragment, Manager需要用(getChildFragmentManager())
MPagerAdapter mPagerAdapter = new MPagerAdapter(getChildFragmentManager());
initFragment();
tabLayout.setTabMode(TabLayout.MODE_FIXED);
tabLayout.setupWithViewPager(viewpager);
viewpager.setAdapter(mPagerAdapter);
}
private void initFragment() {
for (int i = 0; i < 3; i++) {
fragmentList.add(new ChildFragment());
}
}
class MPagerAdapter extends FragmentPagerAdapter {
public MPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return (Fragment) fragmentList.get(position);
}
@Override
public int getCount() {
return fragmentList.size();
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
return super.instantiateItem(container, position);
}
//返回tablayout的标题文字;
@Override
public CharSequence getPageTitle(int position) {
return temp[position];
}
}
}
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
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.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.bwie.zhoukao2demo.R;
import java.util.ArrayList;
/**
* author:Created by WangZhiQiang on 2017-10-19.
* 1--Tablayout
* *viewpager里三个子fragment(一个里面有数据)
*/
public class MainFragment extends Fragment {
private TabLayout tabLayout;
private ViewPager viewpager;
ArrayList fragmentList = new ArrayList<Fragment>();
String[] temp = {"你的 ","我的","他的"};
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_a, null);
tabLayout = (TabLayout) view.findViewById(R.id.tl_titles);
viewpager = (ViewPager) view.findViewById(R.id.viewpager);
return view;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
// fragment中嵌套fragment, Manager需要用(getChildFragmentManager())
MPagerAdapter mPagerAdapter = new MPagerAdapter(getChildFragmentManager());
initFragment();
tabLayout.setTabMode(TabLayout.MODE_FIXED);
tabLayout.setupWithViewPager(viewpager);
viewpager.setAdapter(mPagerAdapter);
}
private void initFragment() {
for (int i = 0; i < 3; i++) {
fragmentList.add(new ChildFragment());
}
}
class MPagerAdapter extends FragmentPagerAdapter {
public MPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return (Fragment) fragmentList.get(position);
}
@Override
public int getCount() {
return fragmentList.size();
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
return super.instantiateItem(container, position);
}
//返回tablayout的标题文字;
@Override
public CharSequence getPageTitle(int position) {
return temp[position];
}
}
}