
package com.example.fragment;
import android.content.Intent;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.TextView;
import com.andy.library.ChannelBean;
import com.example.adapter.ChannoAdapter;
import com.example.jilei.BaseFragment;
import com.example.tab_frag.Tab_frag_01;
import com.example.tab_frag.Tab_frag_02;
import com.example.yuekao_01.R;
import com.qy.channel.ChannelActivity;
import com.qy.channel.bean.ChannelItem;
import com.qy.channel.db.DBUtil;
import java.util.ArrayList;
import java.util.List;
public class Frag_02 extends BaseFragment {
private ViewPager viewpager;
private ArrayList<Fragment> fragments;
private TabLayout tab;
private TextView tiao;
private ArrayList<ChannelItem> channelItems;
private ChannoAdapter adapter;
@Override
protected int RequestId() {
return R.layout.frag_02;
}
@Override
protected void initView(View view) {
tab = view.findViewById(R.id.table);
viewpager = view.findViewById(R.id.viewpager);
tiao = view.findViewById(R.id.tiao);
}
@Override
protected void initDta() {
channelItems = DBUtil.getTabData(getActivity());
fragments = new ArrayList<>();
for (int i = 0;i<channelItems.size();i++){
String tabname = channelItems.get(i).getName();
if ("头条".equals(tabname)){
fragments.add(new Tab_frag_01());
}else {
fragments.add(new Tab_frag_02());
}
}
adapter = new ChannoAdapter(getActivity().getSupportFragmentManager(),channelItems,fragments);
viewpager.setAdapter(adapter);
tab.setupWithViewPager(viewpager);
tiao.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
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){
channelItems = DBUtil.getTabData(getActivity());
for (int i = 0;i<channelItems.size();i++){
String tabname = channelItems.get(i).getName();
if ("头条".equals(tabname)){
fragments.add(new Tab_frag_01());
} else {
fragments.add(new Tab_frag_02());
}
}
adapter = new ChannoAdapter(getActivity().getSupportFragmentManager(),channelItems,fragments);
viewpager.setAdapter(adapter);
tab.setupWithViewPager(viewpager);
}
}
}
付珂 2019/1/16 19:59:02
package com.example.adapter;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import com.andy.library.ChannelBean;
import com.example.tab_frag.Myfragment;
import com.qy.channel.bean.ChannelItem;
import java.util.ArrayList;
import java.util.List;
public class ChannoAdapter extends FragmentPagerAdapter {
private ArrayList<ChannelItem> channelItems;
private ArrayList<Fragment> fragments;
public ChannoAdapter(FragmentManager fm, ArrayList<ChannelItem> channelItems, ArrayList<Fragment> fragments) {
super(fm);
this.channelItems = channelItems;
this.fragments = fragments;
}
@Override
public Fragment getItem(int i) {
return fragments.get(i);
}
@Override
public int getCount() {
return channelItems.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return channelItems.get(position).getName();
}
}