Fragment基类MVP

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]);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值