import android.content.Intent;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.Button;
import com.andy.library.ChannelActivity;
import com.andy.library.ChannelBean;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.nio.channels.Channel;
import java.util.ArrayList;
import java.util.List;
import javax.xml.transform.Result;
import bw.com.rk_day20.Adapter.TitleAdapter;
import bw.com.rk_day20.R;
import static com.andy.library.ChannelActivity.RESULT_CODE;
import static com.andy.library.ChannelActivity.RESULT_JSON_KEY;
public class Fragment1 extends BaseFragment {
private TabLayout tab;
private ViewPager pager;
private Button b1;
private TitleAdapter adapter;
private ArrayList<ChannelBean> list;
@Override
protected void initData() {
list = new ArrayList<>();
for (int i = 0;i<3;i++){
list.add(new ChannelBean(""+i,true));
}
for (int i = 3;i<8;i++){
list.add(new ChannelBean(""+i,false));
}
adapter.setList(list);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==ChannelActivity.REQUEST_CODE&&resultCode==ChannelActivity.RESULT_CODE){
String stringExtra = data.getStringExtra(RESULT_JSON_KEY);
Gson gson = new Gson();
List<ChannelBean> o = gson.fromJson(stringExtra, new TypeToken<List<ChannelBean>>() {
}.getType());
adapter.setList(o);
}
}
@Override
protected void initView(View view) {
tab = view.findViewById(R.id.tab);
pager = view.findViewById(R.id.page1);
adapter = new TitleAdapter(getChildFragmentManager());
pager.setAdapter(adapter);
tab.setupWithViewPager(pager);
b1 = view.findViewById(R.id.b1);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String s = new Gson().toJson(list);
Intent intent = new Intent(getActivity(), ChannelActivity.class);
intent.putExtra(RESULT_JSON_KEY,s);
startActivityForResult(intent,RESULT_CODE);
}
});
}
@Override
protected int requeslt() {
return R.layout.fragment1;
}
}
2.适配器
package bw.com.rk_day20.Adapter;
import android.content.Context;
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 java.util.ArrayList;
import java.util.List;
import bw.com.rk_day20.Fragment.Fragment2;
import bw.com.rk_day20.Fragment.Fragmentkong;
public class TitleAdapter extends FragmentPagerAdapter {
/* public String[] s = new String[]{
"首页","要闻","军事","汽车"
};*/
private List<ChannelBean> list;
public void setList(List<ChannelBean> list) {
this.list = list;
notifyDataSetChanged();
}
public TitleAdapter(FragmentManager fm) {
super(fm);
list = new ArrayList<>();
}
@Override
public Fragment getItem(int i) {
switch (i){
case 0:
return new Fragment2();
default:
return new Fragmentkong();
}
}
@Override
public int getCount() {
return list.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
if (list.get(position).isSelect()){
return list.get(position).getName();
}
return null;
}
}