自定義Subscriber

/**

* 自定義Subscriber,將dialog、complete、error、錯誤返回抽取出來,實現類中只進行Success的處理

*/

public abstract class MSubscriber?extends Subscriber> {

privateLoadingDialogdialog;

private booleanflag;

publicMSubscriber() {

}

publicMSubscriber(Activitycontext) {

if(context !=null) {

dialog=newLoadingDialog(context);

dialog.setText("正在訪問網絡,請稍后...");

dialog.showDialog();

}

}

publicMSubscriber(Activitycontext,Stringmsg) {

if(context !=null) {

dialog=newLoadingDialog(context);

dialog.setText(msg);

dialog.showDialog();

}

}

publicMSubscriber(Activitycontext, booleanflag) {

if(context !=null) {

dialog=newLoadingDialog(context);

dialog.setText("正在訪問網絡,請稍后...");

dialog.showDialog();

}

this.flag= flag;

}

@Override

public voidonCompleted() {

}

@Override

public voidonError(Throwablee) {

if(dialog!=null) {

dialog.dismissDialog();

}

e.printStackTrace();

doError(e);

//ToastUtils.makeText("網絡請求失敗");

}

//選擇性重寫,處理error

protected voiddoError(Throwablee) {

}

@Override

public voidonNext(DataResponse data) {

if(dialog!=null) {

dialog.dismissDialog();

}

if("0".equals(data.status)) {

doNext(data.data);

}else{

doOther(data);

}

if(flag) {

ToastUtils.makeText(data.message);

}

}

//選擇性重寫,處理網絡訪問成功,但是不是正確的返回結果

protected voiddoOther(DataResponse data) {

}

protected abstract voiddoNext(Tdata);

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容