1.布局
<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
android:layout_width=“0dp”
android:layout_height=“wrap_content”
app:tabMode=“scrollable”
android:layout_weight=“1”
/>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width=“match_parent”
android:layout_height=“0px”
android:layout_weight=“1”
android:background="@android:color/white"
></android.support.v4.view.ViewPager>
1.代码实现如下
public class Fragment01 extends BaseFragment {
private ArrayList fragmentlist;
private TabLayout tabLayout;
private ViewPager pager;
private ArrayList userchannelist=new ArrayList();
private MyTabAdapter myTabAdapter;
@Override
protected int bindLayout() {
return R.layout.frag01;
}
@Override
protected void initView() {
tabLayout = bindView(R.id.tablayout);
pager = bindView(R.id.viewpager);
}
@Override
protected void initData() {
userchannelist=DBUtil.getTabData(getActivity());
fragmentlist = new ArrayList();
for (int i=0;i<userchannelist.size();i++){
ChannelItem channelBean=(ChannelItem) userchannelist.get(i);
String tabName=channelBean.getName();
fragmentlist.add(new Frag1());
}
myTabAdapter = new MyTabAdapter(getActivity().getSupportFragmentManager(),fragmentlist,userchannelist);
pager.setAdapter(myTabAdapter);
//绑定
tabLayout.setupWithViewPager(pager);
}
@Override
protected void bindEvent() {
bindView(R.id.tabMenu).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(getActivity(),ChannelActivity.class);
startActivityForResult(intent,0);
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode==0){
userchannelist=DBUtil.getTabData(getActivity());
for (int i=0;i<userchannelist.size();i++){
ChannelItem channelBean=(ChannelItem) userchannelist.get(i);
String tabName=channelBean.getName();
tabLayout.addTab(tabLayout.newTab().setText(tabName));
fragmentlist.add(new Frag1());
}
myTabAdapter = new MyTabAdapter(getActivity().getSupportFragmentManager(),fragmentlist,userchannelist);
pager.setAdapter(myTabAdapter);
tabLayout.setupWithViewPager(pager);
}
}
}