Android利用Timer实现倒计时效果小demo
16lz
2021-01-23
今天闲来无聊,就写个倒计时吧!
1. 布局,两个button
实现代码
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); }}
更多相关文章
- 【从头学android】第二个程序同一个Activity中,切换布局时监听器
- Android布局总结一:GridLayout布局(网格布局)
- android UI学习 -- 设置界面的布局(包括style的使用,selector的
- 【Android】界面布局之TableLayout(表格布局)
- Android布局编写示例【慢慢更新】
- Android 布局优化之include与merge
- 线性布局(LinearLayout)下layout_weight用法分析
- Android 布局(LinearLayout\TableLayout\RelativeLayout\Absol
- 2018-07-27 详解Android基本布局