在Android中制作一个chronometer计时器

我想在Android中制作一个chronometer计时器,使用了timer和sheduleAtFixedRate 方法。看起来像是在timer的run方法中调用textview后,程序就会出错停止运行。我用的是以下的代码,哪里出错了呢?

Button boton_iniciar;
TextView texto_cronometro;
Timer count;
int a = 0;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_cronometro);

    /**********************/
    boton_iniciar = (Button) findViewById(R.id.button1);
    texto_cronometro = (TextView) findViewById(R.id.textView1);
    count= new Timer("Contador");
    boton_iniciar.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            count.scheduleAtFixedRate(new TimerTask() {         
                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    a++;
                    texto_cronometro.setText(String.valueOf(a));
                }
            }, 100, 100);
        }
    });
}


Qyouu
浏览 617回答 3
3回答

蓝山帝景

更新UI线程之外的用户界面。用这些代码:<youractivityname>.this.runOnUiThread(new&nbsp;Runnable()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;run()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;texto_cronometro.setText(String.valueOf(a)); &nbsp;&nbsp;&nbsp;&nbsp;} });代替texto_cronometro.setText(String.valueOf(a));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java