Обратный ответ asynchttpclient для Android loopj

В одном из моих проектов я использую loopj asynchttpclient для общения с моим сайтом. Коммуникационная часть работает хорошо и получает ответ также

Моя деятельность выглядит

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); WebRequest test=new WebRequest(); test.callService(); } 

Класс WebRequest как

 public class WebRequest extends Activity { public void callService(){ AsyncHttpClient client = new AsyncHttpClient(); client.post("http://domain.com/dp/index.php", new AsyncHttpResponseHandler() { @Override public void onSuccess(String response) { Log.v("P",response); } @Override public void onFailure(Throwable e, String response) { Log.v("PS",e.toString()); } }); } } 

Я смущен, как вернуть ответ на основное действие, чтобы я мог создать список из этого ответа.

Я новичок в этом Пожалуйста, помогите мне Спасибо заранее

В вашем классе WebRequest:

  • Я не думаю, что вы хотите, чтобы этот класс расширил Activity . Вы должны только продлить действие, когда вы создаете страницу для отображения в своем приложении. Вы просто хотите выполнить некоторый код, поэтому продление Activity не требуется.
  • Измените свой метод обслуживания вызовов как статический и возьмите AsyncHttpClient в качестве параметра.

Класс WebRequest должен выглядеть следующим образом:

 final class WebRequest { private AsyncHttpClient mClient = new AsyncHttpClient(); public static void callService(AsyncHttpResponseHandler handler) { mClient.post("http://domain.com/dp/index.php", handler); } } 

В вашей основной деятельности:

Теперь все, что вам нужно сделать в вашей основной деятельности, – вызвать статический метод следующим образом:

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); WebRequest.callService(new AsyncHttpResponseHandler() { @Override public void onStart() { // Initiated the request } @Override public void onSuccess(String response) { // Successfully got a response } @Override public void onFailure(Throwable e, String response) { // Response failed :( } @Override public void onFinish() { // Completed the request (either success or failure) } }); } 

Выполняйте все, что вам нужно делать с представлениями в вашей деятельности в вышеупомянутых обратных вызовах. Надеюсь это поможет!