我吹一個的TableRow是這樣的:Android的定時器和UI線程
final TableRow tr1 = (TableRow)LayoutInflater.from(this).inflate(R.layout.attrib_row_survey, null);
tr1.setOnTouchListener(this);
tl1.addView(tr1);
這是我做我的櫃檯:
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
((TextView)tr1.findViewById(R.id.textView2)).setText("Seconds Remaining: " + millisUntilFinished/1000);
}
public void onFinish() {
((TextView)tr1.findViewById(R.id.textView2)).setText("DONE");
}
}.start();
的問題是,當我運行這個計時器,並顯示在該行,用戶界面非常慢,計時器滯後。當我在onTouchListener()中做一個view.setBackGroundColor(Color.BLACK)時,我點擊它,它滯後。
一個改進是保存對'textView2'的引用,而不是重複調用findViewById()。然而,CountDownTimer不可能產生明顯的滯後,你還在做什麼? – Sam
我可以在我的答案感興趣嗎[這裏](http://stackoverflow.com/questions/3733867/stop-watch-logic) – st0le
肯定繼續... –