我正在寫一個腳本,它包含一個等待線程。如果線程被執行,它不會更新屏幕。在腳本中,我將圖片更改爲另一張圖片,但直到我再次按下該按鈕才顯示。所以主要的問題是:設置不同的圖像資源後,我需要更新屏幕。線程中的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文檔,然後您將自行解決。如果沒有,至少你可以改善你的問題,而不是犯這些錯誤。 –