Androidでスレッドを処理する際に1つの問題があります。私のクラスでは、スレッドが終了した後にUIを作成するスレッドを1つ作成する必要があります。ここでは、スレッドが処理を完了するまでメインプロセスを待ちたいと思いますが、メイン プロセス スレッドに wait() または通知を配置しても、アプリケーションに 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 を使用しません。他の問題があるため、スレッドを選択する理由です。今でも問題はスレッド待機です。