首先:
第一步:导入library
第二步:输入design就能出来
第三步:继承MyApp
package com.example.demo.fragment;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
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.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.demo.R;
import com.example.demo.adapter.TabPagerAdapter;
import com.example.demo.fragment.tab.Frag1;
import com.qy.channel.ChannelActivity;
import com.qy.channel.app.ChannelApplication;
import com.qy.channel.bean.ChannelItem;
import com.qy.channel.bean.ChannelManage;
import com.qy.channel.db.DBUtil;
import com.qy.channel.db.SQLHelper;
import java.util.ArrayList;
/**
* @Auther: 苏青岩
* @Date: 2019/1/7 14:51:11
* @Description:
*/
public class FragmentOne extends Fragment {
private ArrayList<Fragment> fragmentList;
private TabLayout tableLayout;
private ViewPager pager;
//用户栏目列表
private ArrayList<ChannelItem> userChannelList = new ArrayList<ChannelItem>();
private TabPagerAdapter adapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragone, container, false);
tableLayout = view.findViewById(R.id.tablayout);
pager = view.findViewById(R.id.viewpager);
//初始化
//查询数据库
userChannelList = DBUtil.getTabData(getActivity());
//加载Fragment
fragmentList = new ArrayList<>();
for (int i = 0; i < userChannelList.size(); i++) {
fragmentList.add(new Frag1());
}
//设置适配器
adapter = new TabPagerAdapter(getActivity().getSupportFragmentManager(), fragmentList, userChannelList);
pager.setAdapter(adapter);
//绑定
tableLayout.setupWithViewPager(pager);//此方法就是让tablayout和ViewPager联动
//1.点击跳转频道管理
view.findViewById(R.id.tabMenu).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//2跳转Activity
Intent intent = new Intent(getActivity(), ChannelActivity.class);
//3跳转回传
startActivityForResult(intent, 0);
}
});
return view;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//4判断是不是我们的回传 回传值是0
if (resultCode == 0) {
userChannelList = DBUtil.getTabData(getActivity());
//8便利数据
for (int i = 0; i < userChannelList.size(); i++) {
ChannelItem channelBean = (ChannelItem) userChannelList.get(i);
String tabName = channelBean.getName();
//9把数据添加到tab中
tableLayout.addTab(tableLayout.newTab().setText(tabName));
//设置fragment(可以根据名字创建Fragment)
// if ("北京".equals(tabName)) {
fragmentList.add(new Frag1());
// } else {
.,....
// }
}
//设置适配器
adapter = new TabPagerAdapter(getActivity().getSupportFragmentManager(), fragmentList, userChannelList);
pager.setAdapter(adapter);
//绑定
tableLayout.setupWithViewPager(pager);//此方法就是让tablayout和ViewPager联动
}
}
}