Fragment基类
public abstract class BaseFragment
extends Fragment implements IBaseView {
public P iPresenter;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=View.inflate(getActivity(),getLayout(),null);
iPresenter=initPresenter();
iPresenter.attchView(this);
initDate();
initView(view);
return view;
}
protected abstract int getLayout();
protected abstract P initPresenter();
protected abstract void initDate();
protected abstract void initView(View view);
@Override
public void onDestroy() {
super.onDestroy();
if (iPresenter!=null){
iPresenter.datetao();
}
}
第一个Fragmnet
public class OneFragment extends BaseFragment implements Contach.TaoContach {
@BindView(R.id.recyc_id)
RecyclerView recycId;
private OneAdapter adapter;
@Override
protected int getLayout() {
return R.layout.fragment_one;
}
@Override
protected MainPresenter initPresenter() {
return new MainPresenter();
}
@Override
protected void initDate() {
iPresenter.getdate();
}
@Override
protected void initView(View view) {
ButterKnife.bind(this,view);
}
@Override
public void success(JavaBase javaBase) {
// isNetWorkConn
boolean ta= HttpUrl.isNetWorkConn(getContext());
if (ta=false){
Toast.makeText(getContext(), “无网”, Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getContext(), “有网络”, Toast.LENGTH_SHORT).show();
}
// StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.HORIZONTAL)
recycId.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
adapter = new OneAdapter(javaBase.getResult(), getActivity());
recycId.setAdapter(adapter);
}
工具类
private static HttpUrl httpUrlist;
private ShopPing shopPing;
private Retrofit retrofit;
private HttpLoggingInterceptor interceptor;
private OkHttpClient okHttpClient;
private HttpUrl(){
interceptor=new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
okHttpClient=new OkHttpClient.Builder()
.addInterceptor(interceptor)
.build();
retrofit=new Retrofit.Builder()
.baseUrl(Api.Wang)
.client(okHttpClient)
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
shopPing=retrofit.create(ShopPing.class);
}
//TODO 单例
public static HttpUrl getHttpUrlist() {
if (httpUrlist==null){
httpUrlist=new HttpUrl();
}
return httpUrlist;
}
public void getTao(Observer<JavaBase> observer){
shopPing.getLuhongtao()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(observer);
}
//TODO 4,网络连接判断
public static boolean isNetWorkConn(Context context){
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
if(networkInfo!=null && networkInfo.isConnected()) return true;
return false;
}
标题
第一个MainActivity
private ArrayList fragments = new ArrayList<>();
private List list = new ArrayList<>();
private String[]titles=new String[]{“男”,“女”,“童装”};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
list.add(new OneFragment());
list.add(new TowFragment());
list.add(new ThreeFragment());
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.button_1:
viewpager.setCurrentItem(0);
break;
case R.id.button_2:
viewpager.setCurrentItem(1);
break;
case R.id.button_3:
viewpager.setCurrentItem(2);
break;
}
}
});
viewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
radioGroup.check(radioGroup.getChildAt(position).getId());
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
viewpager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
});
init();
}
private void init(){
for (int i = 2; i <titles.length ; i++) {
fragments.add(new OneFragment());
fragments.add(new TowFragment());
fragments.add(new ThreeFragment());
tablayout3.addTab(tablayout3.newTab());
}
tablayout3.setupWithViewPager(viewpager,false);
FragmentAdapter fragmentAdapter=new FragmentAdapter(fragments,getSupportFragmentManager());
viewpager.setAdapter(fragmentAdapter);
for (int i = 0; i <titles.length ; i++) {
tablayout3.getTabAt(i).setText(titles[i]);
}
}