来自AsynHttpClient的自定义回调

时间:2016-08-18 21:02:32

标签: android callback

嘿,我正在使用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();
    }
}

1 个答案:

答案 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();