package com.example.qyh.joe.fragment;
import android.os.Bundle;
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.example.qyh.joe.R;
import java.util.ArrayList;
import java.util.List;
/**
* Created by qyh on 2016/3/4.
*/
public class FirstFragment extends Fragment {
private TabLayout mTablayout;
private ViewPager viewpager;
public static final int ONE=0;
public static final int TWO=1;
public static final int THREE=2;
public static final int FOUR=3;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.first_fragment, null);
initView(view);
return view;
}
private void initView(View view) {
mTablayout = (TabLayout) view.findViewById(R.id.tab_layout);
//mTablayout.setTabMode(TabLayout.MODE_SCROLLABLE);//挤在一起显示
viewpager = (ViewPager) view.findViewById(R.id.viewpager);
setupViewPager(viewpager);
mTablayout.addTab(mTablayout.newTab().setText("头条"));
mTablayout.addTab(mTablayout.newTab().setText("NBA"));
mTablayout.addTab(mTablayout.newTab().setText("汽车"));
mTablayout.addTab(mTablayout.newTab().setText("笑话"));
mTablayout.setupWithViewPager(viewpager);
}
private void setupViewPager(ViewPager viewpager) {
MyPagerAdapter adapter=new MyPagerAdapter(getChildFragmentManager());
adapter.addFragment(FirstListFragment.newInstance(ONE),"头条");
adapter.addFragment(FirstListFragment.newInstance(TWO),"NBA");
adapter.addFragment(FirstListFragment.newInstance(THREE),"汽车");
adapter.addFragment(FirstListFragment.newInstance(FOUR),"笑话");
viewpager.setAdapter(adapter);
}
public static class MyPagerAdapter extends FragmentPagerAdapter{
private final List<Fragment> mFragment=new ArrayList<Fragment>();
private final List<String> mFragmentTitle=new ArrayList<String>();
public void addFragment(Fragment fragment,String title){
mFragment.add(fragment);
mFragmentTitle.add(title);
}
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return mFragment.get(position);
}
@Override
public int getCount() {
return mFragment.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitle.get(position);
}
}
}