0

こんばんは。返事が来なくて困っています。メソッド get() を持つ MyHttpClient と、応答用の String の 2 つのクラスがあります。

public class MyHttpClient {

private static final String BASE_URL = "http://pgu.com";
private static String response;

private static AsyncHttpClient client = new AsyncHttpClient();

 public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
      client.get(getAbsoluteUrl(url), params, responseHandler);
 }

 private static String getAbsoluteUrl(String relativeUrl) {
      return BASE_URL + relativeUrl;
  }

public static String getResponse() {
    return response;
}

public static void setResponse(String response) {
    response = response;
}

}

2 番目のクラスでは、GET メソッドを使用しています。Html は LogCat で出力されますが、setResponse は機能しません。MyHttpClient のフィールドとして応答文字列を取得するにはどうすればよいですか?

public class MyHttpClientUsage {


public MyHttpClientUsage(){

}

public void getInfoAbout() throws HttpException{

    RequestParams params = new RequestParams();
    params.put("a", "Static");
    params.put("content", "47");

    MyHttpClient.get("", params, new AsyncHttpResponseHandler(){
         @Override
            public void onSuccess(String response) {
                System.out.println(response);   
                            //Write HTML in LogCat(work) 
                MyHttpClient.setResponse(response); //doesn't work
            }
    });
}

}

4

1 に答える 1

4

現在、メソッドに送信しているパラメーターをリセットしているだけなので、使用this.response = responseする必要があります。MyHttpClient

finalこれを避けるために、メソッドのパラメーターを設定することをお勧めします。

于 2013-02-04T12:13:30.593 に答える