我正在写一个脚本,它包含一个等待线程。如果线程被执行,它不会更新屏幕。在脚本中,我将图片更改为另一张图片,但直到我再次按下该按钮才显示。所以主要的问题是:设置不同的图像资源后,我需要更新屏幕。线程中的java更新屏幕
下面是代码:
public void Start(View view) {
Runnable r = new Runnable() {
@Override
public void run() {
int i =0;
while(i<12) {
synchronized (this) {
try {
Setfoto(i);
Thread.sleep(1000);
Log.i(TAG, "Begonnen met loop");
Log.i(TAG, "i = " + i);
i = i +1;
} catch (Exception e) {}
}
}
}
};
Thread buckysThread = new Thread(r);
buckysThread.start();
}
public void Setfoto(int nummer) {
if (nummer == 1) {
een.setImageResource(R.drawable.eerster);
Log.i(TAG, "Foto 1 wordt rood");
} if(nummer ==2) {
twee.setImageResource(R.drawable.eerster);
Log.i(TAG, "Foto 2 wordt rood");
} if(nummer ==3) {
drie.setImageResource(R.drawable.tweer);
Log.i(TAG, "Foto 3 wordt rood");
}
}
无法从背景更新UI线。阅读一些关于如何更新用户界面的Android文档,然后您将自行解决。如果没有,至少你可以改善你的问题,而不是犯这些错误。 –