Android利用Timer实现倒计时效果小demo

来源:互联网 发布:sap84软件购买 编辑:程序博客网 时间:2024/04/28 03:03

今天闲来无聊,就写个倒计时吧!
1. 布局,两个button

<Button        android:id="@+id/bt_get"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="开始"/><Button        android:id="@+id/bt_post"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="结束"/>

实现代码

 public class MainActivity extends AppCompatActivity implements View.OnClickListener {    private Button bt_get,bt_post;    private String TAG="MainActivity";    // 拿到okHttpClient对象    private OkHttpClient okHttpClient=new OkHttpClient();    private Timer timer5;    private int num=11;    private boolean flag=false;    private Handler handler=new Handler(){        @Override        public void handleMessage(Message msg) {            switch (msg.what){                case 0:                    if(num<=0) {                        flag=false;                    }                    else {                        num--;                        Log.i(TAG, "handleMessage: "+num);                    }                    break;            }            super.handleMessage(msg);        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();        rollMethod();    }    public void initView(){        bt_post= (Button) findViewById(R.id.bt_post);        bt_get= (Button) findViewById(R.id.bt_get);        bt_post.setOnClickListener(this);        bt_get.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()){            case R.id.bt_get:                //getRequest();                Log.i(TAG, "onClick: 开始");                flag=true;                num=11;                break;            case R.id.bt_post:                //postRequest();                Log.i(TAG, "onClick: 结束");                flag=false;                break;        }    }    public void rollMethod(){        if(null==timer5){            timer5=new Timer();        }        timer5.schedule(new TimerTask() {            @Override            public void run() {                if(flag){                    handler.sendEmptyMessage(0);                }            }        },3000,3000);    }}
0 0
原创粉丝点击