布局文件
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.TabLayout
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:id="@+id/Tab_Layout"
></android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/Vp"
></android.support.v4.view.ViewPager>
代码部分
package com.example.monitwo.fragment;
import android.os.Bundle;
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.monitwo.R;
import com.example.monitwo.fragmentadapter.MyAdapterFragment;
import java.util.ArrayList;
import java.util.List;
/**
-
A simple {@link Fragment} subclass.
*/
public class AAFragment extends Fragment {private TabLayout Tab_Layout;
private ViewPager Vp;
private List fList;
private List sList;@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_aa, null);initView(v); initData(); MyAdapterFragment myAdapterFragment=new MyAdapterFragment(getChildFragmentManager(),fList,sList); Vp.setAdapter(myAdapterFragment); Tab_Layout.setupWithViewPager(Vp); return v;
}
private void initView(View v) {
Tab_Layout = (TabLayout) v.findViewById(R.id.Tab_Layout);
Vp = (ViewPager) v.findViewById(R.id.Vp);
}private void initData(){
fList= new ArrayList<>(); fList.add(new AAAFragment()); fList.add(new BBBFragment()); fList.add(new CCCFragment()); sList = new ArrayList<>(); sList.add("热门影片"); sList.add("正在上映"); sList.add("即将上映");
}
}
适配器
package com.example.monitwo.fragmentadapter;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import java.util.List;
public class MyAdapterFragment extends FragmentPagerAdapter {
private List<Fragment> fList;
private List<String> sList;
public MyAdapterFragment(FragmentManager fm, List<Fragment> fList, List<String> sList) {
super(fm);
this.fList = fList;
this.sList = sList;
}
@Override
public Fragment getItem(int i) {
return fList.get(i);
}
@Override
public int getCount() {
return fList.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return sList.get(position);
}
}