都用的
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) {
}