Android : how to AsyncHttpClient with retry dialog

on Wednesday, April 1, 2015


i try extends AsyncHttpClient with one boolean argument that on true show dialog and retry connection but i don't how can i access user sent AsyncHttpResponseHandler onfailure event, and i can't show retry dialog


so retry with extends AsyncHttpResponseHandler like this:



import org.apache.http.Header;

import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.View;
import android.view.View.OnClickListener;

import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;

public class CuAsyncHttpResponseHandler extends AsyncHttpResponseHandler {

private CuActivity activity;
private boolean retry;
private CuAsyncHttpResponseHandler response;


public void CuAsyncHttpResponseHandler(CuActivity activity) {
this.activity = activity;
this.retry = false;
this.response = this;

}

public CuAsyncHttpResponseHandler(CuActivity activity, boolean retry) {
this.activity = activity;
this.retry = retry;
this.response = this;

}


public void onFailure(int statusCode, Header[] headers,
byte[] errorResponse, Throwable e) {
if (this.retry == true) {
final CuDialogRetry cdd = new CuDialogRetry(activity, null, true);
cdd.getWindow().setBackgroundDrawable(
new ColorDrawable(Color.TRANSPARENT));

cdd.show();
cdd.getretryButton().setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

response.onStart();
cdd.dismiss();

}

});
}

}

@Override
public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {

}
}


but onstart don't restart request(because it is for response and don't have access to retry client send request


0 comments:

Post a Comment