Android----------Handler和Timer实现倒计时

来源:互联网 发布:mac os系统下载百度云 编辑:程序博客网 时间:2024/04/30 07:08
public class MainActivity extends Activity {
private TextView mtv;
private Timer ti;
private int count=5;
private Button mb;
private Handler hd=new Handler(){
    public void handleMessage(android.os.Message msg) {
        if(count>0){
            //修改信息
        mtv.setText("开始倒计时"+count+"秒");
        }else{
            //跳转到动画界面
            Intent intent=new Intent(MainActivity.this, Donghua.class);
            startActivity(intent);
        }
        
    };
};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mtv=(TextView) findViewById(R.id.text_view);
        mb = (Button) findViewById(R.id.button1);
        mb.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                ti=new Timer();
                ti.scheduleAtFixedRate(new TimerTask() {
                    
                    @Override
                    public void run() {
                    if(count>0){
                        count--;
                        //Message msg = hd.obtainMessage();
                        hd.sendEmptyMessage(0);
                    }
                        
                    }
                }, 0, 1000);
                
            }
        });
    
        
    }
   //销毁timer
    @Override
        protected void onDestroy() {
            // TODO Auto-generated method stub
            super.onDestroy();
            if(ti!=null){
            ti.cancel();
            }
        }

}