嘿,我正在使用AsynHttpClient。
我想在一个Activity中实现我的get和set函数,以便其他人调用它们。
但是如何从响应回调中调用我的自定义回调?
我不知道它在内部类中如何工作
public void requestApiUrl(Callback callback ){
JSONObject jsonObj = new JSONObject();
try {
jsonObj.put("AppKey",getResources().getString(R.string.AppKey));
AsyncHttpClient client = new AsyncHttpClient();
StringEntity entity = null;
try {
entity = new StringEntity(jsonObj.toString());
entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
client.get(this, "***************URL***********", entity, "application/json", new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, cz.msebera.android.httpclient.Header[] headers, JSONObject utils) {
super.onSuccess(statusCode, headers, utils);
Log.d("HTTP", "response: " + utils.toString());
callback.reponse();
}
public void onFailure(int statusCode, cz.msebera.android.httpclient.Header[] headers, String responseString, Throwable throwable) {
super.onFailure(statusCode, headers, responseString, throwable);
Log.d("Failed: ", "" + statusCode);
Log.d("Error : ", "" + throwable);
callback.reponse();
}
});
}catch (JSONException e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
至于我可以解决你的问题,你需要从子/内部类调用函数,其中函数属于父/外类。引用this question
的答案对于一个班级
class Outer {
void show() {
System.out.println("outter show");
}
class Inner{
void show() {
System.out.println("inner show");
}
}
}
你可以直接打电话
Outer.this.show();