在android中,我试图在覆盖下一个之前稍微延迟一次显示Ready Set Go。 这对我不起作用。我得到暂停但没有写文字。 这是我到目前为止所尝试的任何帮助表示赞赏!
用户点击Button
点击后调用readySetGo
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button_start_pause:
readySetGo();
break;
default:
break;
}
}
public void readySetGo() {
text_timer.setText("Ready");
SystemClock.sleep(2000);
text_timer.setText("Set");
SystemClock.sleep(2000);
text_timer.setText("Go!!");
}
答案 0 :(得分:0)
除非这是在另一个线程中,否则在此方法返回
之前不会更新UI请参阅http://developer.android.com/training/multiple-threads/communicate-ui.html
答案 1 :(得分:0)
我能够使用Kevin Krumwiede提供的帮助来获得以下答案......
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button_start_pause:
ready();
set();
go();
break;
default:
break;
}
}
public void ready() {
text_timer.setText("Ready");
}
public void set() {
final Handler handler = new Handler();
final Runnable r = new Runnable() {
public void run() {
text_timer.setText(" Set ");
}
};
handler.postDelayed(r, 1000);
}
public void go() {
final Handler handler = new Handler();
final Runnable r = new Runnable() {
public void run() {
text_timer.setText(" Go!!! ");
}
};
handler.postDelayed(r, 2000);
}