封装MVC

都用的

public interface OkHttpListenter<T> {
    void onSuccess(T data);
    void onFail(String msg);
}




````P
public class ShowPresenter11 {
   protected   BaseView baseView;

    public ShowPresenter11(BaseView baseView) {
        
        this.baseView = baseView;
    }

    public void Attach(BaseView baseView){
        this.baseView=baseView;
    }

    public void Deatch(BaseView baseView){
        this.baseView=baseView;
    }
}
V
public interface BannerView<T> {
    void BanneronSuccess(T data);
    void BannerSuccess(String msg);
}  M随意定义

M的实现public class showModel extends ShowModel {
final String Show_Data=Api.Show_Data;

 public void Show_Date(final OkHttpListenter listenter){
      ApiService apiService = RetrofitManager.getInstance().apiService();
      Observable<Show_Shou> voidget = apiService.voidget();
      voidget.subscribeOn(Schedulers.io())
              .observeOn(AndroidSchedulers.mainThread())
              .subscribe(new Observer<Show_Shou>() {
                   @Override
                   public void onSubscribe(Disposable d) {

                   }

                   @Override
                   public void onNext(Show_Shou value) {
                          listenter.onSuccess(value);
                   }

                   @Override
                   public void onError(Throwable e) {
                          listenter.onFail(e.getMessage());
                   }

                   @Override
                   public void onComplete() {

                   }
              });

 }

PIMPL

public class ShowPresenter extends ShowPresenter11 {
     private showModel showModel;
    public ShowPresenter(BaseView baseView) {
        super(baseView);
        showModel=new showModel();
    }

    public void ShowDaa(){
        showModel.Show_Date(new OkHttpListenter() {
            @Override
            public void onSuccess(Object data) {
                baseView.onSuccess(data);
            }

            @Override
            public void onFail(String msg) {

            }
        });
    }
VImpl
public class frag1 extends Fragment implements BaseView<Show_Shou>,BannerView<BaannerbEA> {
     private ShowPresenter showPresenter;
     private BannerPresenter bannerPresenter;
    private XRecyclerView xRecyclerView;
    private List<ResultBean> bannerresult;
    private XrecyleAdapter xrecyleAdapter;
    private XrecyleAdapter xrecyleAdapter1;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.fragment1,container,false);
        xRecyclerView = view.findViewById(R.id.xrecycle_view);

        showPresenter=new ShowPresenter(this);
        bannerPresenter=new BannerPresenter(this);
        showPresenter.ShowDaa();
        bannerPresenter.Show_Banner();


        return view;
    }

    @Override
    public void onSuccess(Show_Shou data) {
        Show_Shou.ResultBean result = data.getResult();
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
        xRecyclerView.setLayoutManager(linearLayoutManager);

        xrecyleAdapter1 = new XrecyleAdapter(getActivity(), result,bannerresult);
        xrecyleAdapter1.notifyDataSetChanged();

        xRecyclerView.setAdapter(xrecyleAdapter1);

        //刷新
        xRecyclerView.setLoadingListener(new XRecyclerView.LoadingListener() {
            @Override
            public void onRefresh() {
                bannerPresenter.Show_Banner();
                xRecyclerView.refreshComplete();
            }

            @Override
            public void onLoadMore() {
                bannerPresenter.Show_Banner();
                xRecyclerView.refreshComplete();
            }
        });
    }

    @Override
    public void Success(String msg) {

    }


    @Override
    public void BanneronSuccess(BaannerbEA data) {
        bannerresult = data.getResult();

    }

    @Override
    public void BannerSuccess(String msg) {

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值