[問題] 利用Thread無法更新畫面
因為新學自修
做法可能有些異想天開
還是想請教一下
---------------------------------------------
這是UI:http://goo.gl/fcS07F
主程式類別是使用Fragment建立的
然後在main方法之外自訂了一個繼承Thread的類別如下
class MaxThread extends Thread {
protected int mx, yr;
protected String mit, mxt, yrt;
protected TextView txtmi, txtmx, txtyr;
public void run(int maxc, int yourc, String mint, String maxt,
String yourt, TextView txtmin, TextView txtmax, TextView txtyour){
mx = maxc;
yr = yourc;
mit = mint;
mxt = maxt;
yrt = yourt;
txtmi = txtmin;
txtmx = txtmax;
txtyr = txtyour;
try {
for (int i = mx; i >= yr; i--){
mxt = String.valueOf(i);
txtmi.setText(mit);
txtmx.setText(mxt);
Thread.sleep(1000);
}
}
catch (InterruptedException e) {}
}
}
public class GameFragment extends Fragment {
......省略其他程式碼......
MaxThread work = new MaxThread();
work.run(maxcode, yourcode, min, max, yournum, mtxtmin, mtxtmax, mtxtyour);
我想達成的效果是當使用者沒猜中時
最大值會依序每秒減1並且顯示
但測試的結果系統的確會依應該等待的時間暫停
卻沒有每秒執行txtmi.setText(mit);跟txtmx.setText(mxt);的部分
直到時間結束才會顯示最後的值
不曉得是哪裡錯誤呢?
--
聽別人說施比受更有福
我倒認為吃比瘦更有福
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.211.162
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1443972485.A.478.html
※ 編輯: gndelo (114.25.211.162), 10/04/2015 23:31:21
※ 編輯: gndelo (114.25.211.162), 10/04/2015 23:32:14
推
10/04 23:47, , 1F
10/04 23:47, 1F
→
10/04 23:48, , 2F
10/04 23:48, 2F
→
10/05 15:16, , 3F
10/05 15:16, 3F
推
10/06 21:05, , 4F
10/06 21:05, 4F
→
10/06 21:08, , 5F
10/06 21:08, 5F
→
10/06 22:03, , 6F
10/06 22:03, 6F
→
10/07 23:14, , 7F
10/07 23:14, 7F