0

Web サイトからいくつかのデータを取得するクラスがあります。TheNewBoston のチュートリアル(147-149 だと思います) に従い、彼が書いたものを正確にコピーしましたが、うまくいきません。問題は、setText. 切り替えtv.setText(returned)てみtv.setText("Hello") ますが変わりません。誰が何が悪いのか知っていますか?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TextView tv= (TextView) findViewById(R.id.text1);
    GetMethodEx test = new GetMethodEx();
    String returned;

    try {
        returned = test.getInternetData();
        tv.setText(returned);
    } catch (Exception e) {
        e.printStackTrace();
    }

}
4

3 に答える 3

1

これを試して:

String returned = "some default string.";
try {
    returned = test.getInternetData();
} catch (Exception e) {
    e.printStackTrace();
}
tv.setText(returned);

このようにして、例外があったかどうかに関係なく、setText がデータとともに呼び出されることがわかります。

于 2012-01-23T12:41:10.460 に答える
1

交換:

  try {
        returned = test.getInternetData();
        tv.setText(returned);
    } catch (Exception e) {
        e.printStackTrace();
    }

  try {
        returned = test.getInternetData();
        tv.setText("returned");
    } catch (Exception e) {
        e.printStackTrace();
        tv.setText(e.getMessage());
    }

setText は、要求どおりに Text を設定します。

于 2012-01-23T12:39:12.223 に答える
0
runOnUiThread(new Runnable()
            {

                public void run()
                {

                tv.setText(returned.toString());

                }
            });
于 2012-01-23T12:43:37.123 に答える