您的位置:首页 > 移动开发 > Android开发

Android 计时器的简单用法

2015-03-31 15:20 483 查看
Android 计时器的简单用法<有BUG,运行一会,会崩溃>

小记:

package com.luobo.xiao.testletter;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;

import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends Activity {
    private TextView viewTime;
    private Button btnStart;
    private Timer time = null;
    private TimerTask task = null;
    private int i = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

        viewTime = (TextView) findViewById(R.id.textView);
        btnStart = (Button) findViewById(R.id.btnStart);
        btnStart.setOnClickListener(new ClickEvent());
    }

    class ClickEvent implements View.OnClickListener {
        @Override
        public void onClick(View v) {
            if (v.getId() == R.id.btnStart) {
                i = Integer.parseInt("5000");
                startTime();
            }
        }
    }

    private Handler mHandler = new Handler() {
        public void handleMessage(Message msg) {
            viewTime.setText(msg.arg1+"");
            startTime();
        };
    };

    public void startTime() {
        time = new Timer();
        task = new TimerTask() {

            @Override
            public void run() {
                i--;
                Message message = mHandler.obtainMessage();
                message.arg1 = i;
                mHandler.sendMessage(message);
            }
        };

        //time.schedule(task, 1000, 1000);
        time.schedule(task, 1);
    }

    public void stopTime() {
        time.cancel();
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: