スレッドから、UIを操作すると問題が出ます。
これはSwingでも同じですね。
スレッドからUIを操作する場合は、Handlerを使う必要があります。

以下はNG

#codeprettify{{ public void run(){

 Button btn = (Button)findViewById(R.id.XXXX);
 btn.setEnabled(true);

} }}


問題の出ない方法

#codeprettify{{ Handler handler= new Handler(); ・・・ public void run(){

 handler.post(new Runnable(){
   public void run(){
     Button btn = (Button)findViewById(R.id.XXXX);
     btn.setEnabled(true);
   }
 });

} }} これは、スレッドをUIのイベントキューに埋め込んで処理させているようです。
そうすることでメインスレッドで処理を動かし、UI操作を可能にしているらしい。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-12-06 (火) 15:23:40