Activity上的Android处理程序/线程

时间:2011-06-30 07:10:30

标签: android multithreading android-activity handler

我必须将类usign(新线程).start()转换为允许Activity通信的线程(所以你可以例如sej alert.show())。

该课程如下:

public abstract class MyClient implements Runnable 
{
  private Handler mHandler = new Handler();
  public void connect() 
  {
    if (!running) 
    {
      this.running = true;
      mHandler.post(this);
      // (new Thread(this)).start();
    }
  }

  public void run() 
  {
    while (this.running) 
    {
       ...
    }
    // thread ended
}

我已经使这个工作但它停止了。从现在开始,我有一个黑屏,我得到

Activity idle timeout for HistoryRecord{...}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用AsyncTask。它的设计完全是为了使与UI线程的交互比线程和处理程序更容易。请参阅:http://developer.android.com/reference/android/os/AsyncTask.html