0

おはようございます。get リクエストを送信し、TextView でレスポンスを表示したい。

public class MyHttpClient {

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

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;
  }}

このクラスから get を呼び出しています

public class MyHttpClientUsage {

Handler h;

public MyHttpClientUsage(Handler h){
    this.h = h;
}

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);
                              //Simplify sending int to TextView
                  MyHttpClientUsage.this.h.sendEmptyMessage(678); 
                         }
    });
}}

アクティビティでは、メッセージを取得して TextView を設定するハンドラーがあります

public class MainActivity extends Activity {

Handler h;
TextView largeText;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    largeText = (TextView) findViewById(R.id.textView1);

    h = new Handler(){

        public void handleMessage(android.os.Message msg){
            largeText.setText(msg.what);
        }

    };

    MyHttpClientUsage connect = new MyHttpClientUsage(h);
    try {
        connect.getInfoAbout();
    } catch (HttpException e) {
        e.printStackTrace();
    }

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}}

LogCat には、この警告があります

02-06 14:30:51.783: W/dalvikvm(546): threadid=1: thread exiting with uncaught exception (group=0x409961f8)

とエラー

02-06 14:30:51.833: E/AndroidRuntime(546): android.content.res.Resources$NotFoundException:   String resource ID #0x2a6
4

1 に答える 1

1

ご覧のとおり、ここに メッセージがあります。int とは何ですか。 int を パラメーターとして取るsetTextメソッドに渡しています。コードを次のように変更します。TextViewCharSequence

largeText.setText(String.valueOf(msg.what));

また

largeText.setText(msg.what.toString());
于 2013-02-06T15:49:20.027 に答える