2011-07-03 16 views
0

私は逃走中にクラッシュしています。私は、次のようにスレッドを実行している:私は私のXMLでTextViewの値を設定しようとandroidのスレッド内にTextViewの値を設定します

Thread t = new Thread(){ 
    public void run() {  
      text.setText("hello");  
    } 
}; 
t.start; 

クラッシュが発生し、(テキストへの参照は既に利用可能です)。

私は基本的に何か間違っていますか?どこが間違っているかを親切に指摘してください。

答えて

2

UIスレッドからのみ、ユーザーインターフェイスコンポーネントにアクセスできます。

Androidは、方法runOnUiThreadやクラスAsyncTaskなど、これを簡単にするためにいくつかのことがあります。

詳しくは、AndroidのドキュメントのPainless ThreadingProcesses and Threadsを参照してください。

0

は、ハンドラクラスを使用し、より適切な方法

Handler mHandler; 
mHandler=new Handler(){ 
hdandleMessage(Message what){ 

text.setText("hello"); 

} 

}; 
Thread t = new Thread(){ 
    public void run() 
    { 

      mHandler.sendEmptyMessage(int what) 

     } 
}; 
t.start; 
のためにそれをチェックします
関連する問題