为了账号安全,请及时绑定邮箱和手机立即绑定

用于定时器的Android线程

用于定时器的Android线程

温温酱 2019-07-22 10:09:09
用于定时器的Android线程public class MainActivity extends Activity{int min, sec;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      setContentView(R.layout.main);      min = 5;     sec = 0;     final TextView timer1 = (TextView) findViewById(R.id.timer1);     timer1.setText(min + ":" + sec);     Thread t = new Thread() {         public void run() {                 sec-=1;                 if (sec<0) {                     min-=1;                     sec=59;                 }                 timer1.setText(min + ":" + sec);                 try                 {                     sleep(1000);                 }                 catch (InterruptedException e)                 {}             }     };     t.start();}}这是Java中线程的代码,但它不起作用。你能帮帮我吗?它是一个计时器,从5分钟下降到0:00。
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

您正在尝试更新UI Thread背景Thread带着

timer1.setText(

但你做不到。你需要用runOnUiThread()AsyncTaskCountDownTimer或者类似的东西。

见这个答案的例子runOnUiThread()

唐蒂默对这种事很好。

同时,当在上面发布一个问题时,像“它不起作用”这样的语句。非常模糊而且往往没有帮助。如果应用程序崩溃,请说明与代码和logcat实际结果相比较的预期结果。


查看完整回答
反对 回复 2019-07-22
  • 2 回答
  • 0 关注
  • 701 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信