2016-08-18 4 views
0

Эй, я использую AsynHttpClient.Пользовательский обратный вызов от AsynHttpClient

Я хотел бы реализовать свои функции 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

Насколько я мог выйти из вашего вопроса, вам нужно вызвать функцию из дочернего/внутреннего класса, где функция принадлежит родительский/внешний класс. Цитирование ответ от this question

Для класса

class Outer { 
    void show() { 
     System.out.println("outter show"); 
    } 

    class Inner{ 
     void show() { 
      System.out.println("inner show"); 
        } 
       } 
} 

вы можете просто позвонить

Outer.this.show();