我在处理 android 中的线程时遇到了一个问题,在我的类中我必须创建一个线程,在该线程完成后创建一些 UI 我将获得一些价值,在这里我想等待我的主进程直到线程完成它处理但是当我在主进程线程中放置了 wait() 或 notify,在我的应用程序中没有显示 UI
这是示例代码
protected void onCreate(Bundle savedInstanceState) {
downloadThread = new MyThread(this);
downloadThread.start();
synchronized(this){
try {
this.wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
String test=Recognition.gettemp();
public class MyThread extends Thread {
private Recognition recognition;
public MyThread(Recognition recognition) {
this.recognition = recognition;
// TODO Auto-generated constructor stub
}
@Override
public void run() {
synchronized(this)
{
handler.post(new MyRunnable());
}
notifyAll();
}
}
}
static public class MyRunnable implements Runnable {
public void run() {
settemp(template);
}
}
}
public static String gettemp() {
return template;
}
public static void settemp(String template) {
Recognition.template = template;
}
}
在这里我不会使用 AsynTask,因为我还有其他一些问题,这就是我选择 Thread 的原因,即使现在问题是 Thread 等待,请对此提出建议