2012-01-23 9 views
0

ウェブサイトからデータを取得するクラスがあります。私はTheNewBoston's tutorial(147-149私は思う)と彼がと書いたものを正確ににコピーしたが、それは私にとっては役に立たない。問題はsetTextです。 tv.setText(returned)tv.setText("Hello")に切り替えようとしましたが、変更されません。誰が何が間違っているのか分かりますか?setTextでテキストが設定されない

@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(); 
    } 

} 
+1

「返された」ものをデバッグする前に、あなたは例外がありますか?それ以外の場合は、ここにコードを追加してください。 – Praveenkumar

+0

'getInternetData()'が例外をスローすると、 'setText()'の呼び出しに遭遇することはなく、 "hello"を引数として使用しても機能しないので、そうであるようです。 – Jave

+0

test.getInternetData()から取得した例外を表示してください。私たちは正確な問題とその解決法を得ることができます。私は別のスレッドを使用してサーバーを呼び出すし、その値をtextviewに設定して、例外が発生すると思います。あなたの質問を例外ログ –

答えて

0

置き換える:あなたが要求したとして

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

のsetText

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

では、[テキストを設定します!

+0

ありがとうございました! :) – simtaxman

+1

嬉しい、助けて!自由に回答を受け入れるか、少なくともそれに投票してください;-) –

1

これを試してみてください:

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

このように、あなたは関係なく、例外があった場合の、のsetTextにデータが呼び出されることを知っています。

0
runOnUiThread(new Runnable() 
      { 

       public void run() 
       { 

       tv.setText(returned.toString()); 

       } 
      }); 
関連する問題