我想从一个线程中设置文本。
这是我的线程代码:
private class GenerateThread implements Runnable {
public void run(){
// generate the first music
music = generate(prevmusic, prevmusic.length);
prevmusic = music;
// write the midi
writeMidi(music, song);
textOut.setText("Initialising...");
});
}
}
在我的主要代码中,我使用
Thread t = new Thread(new GenerateThread());
t.start();
它不允许我从线程内设置文本。在互联网上的一些帖子之后,我尝试使用处理程序,但这给了我错误,我认为我以这种方式双重定义 Runnable。
处理程序处理程序(在 main 之前)
private class GenerateThread implements Runnable {
public void run(){
handler.post(new Runnable() {
// generate the first music
music = generate(prevmusic, prevmusic.length);
prevmusic = music;
// write the midi
writeMidi(music, song);
textOut.setText("Initialising...");
});
}
}
如何从 Thread 中设置文本?谢谢!