0

状況によっては更新したいTextViewがあると思います。1〜2秒ごとに状況をチェックし、必要に応じてTextViewのテキストを更新するスレッドが必要です。何か案が?

4

3 に答える 3

4

私はこのようなことをします:

public class MyClass {
  private Handler  hUpdate;
  private Runnable rUpdate;

  public MyClass() { // Constructor
    hUpdate = new Handler();
    rUpdate = new Runnable() {
      // Do your GUI updates here
    };

    Thread tUpdate = new Thread() {
      public void run() {
        while(true) {
          hUpdate.post(rUpdate);
          sleep(500);
        }
      }
    }
    tUpdate.start();
  }
}
于 2013-02-03T01:50:15.037 に答える
3

GUIでハンドラーを使用できます。

Handler hnd = new Handler() {
    public void handleMessage(Message msg) {
        if ( msg.what == 101 ) {
           //update textview
        }
    }
}

hndをスレッドに渡し、スレッドで次のことを行います。

Message m = new Message();
m.what = 101;
hnd.sendMessage(m);

これは、別のスレッドでGUIスレッドへのレポートが必要な作業を行っていることを前提としており、テキストメッセージを送信することもできます。

于 2012-04-04T12:50:05.600 に答える
1

別のスレッドからビューを更新するには、ハンドラーを使用する必要があります。postDelayedを使用すると、遅延を設定できます。ドキュメントを参照してください:

handler.postDelayed

于 2012-04-04T12:46:19.367 に答える