需求
项目要的功能是 点赞 不可以取消 只要点了就在图标上角+1 且在一定时间后自动消失!考虑到简单直接用
Handler
的postDelayed()
方法!
推荐Handler
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
mTvCommentNumber.setVisibility(View.GONE);mTvCommentNumber//是我要隐藏的TextView
}
}, 1500); //1.5秒后执行
使用lambda
表达式 更简洁 代码如下
new Handler().postDelayed(() -> {
mTvCommentNumber.setVisibility(View.GONE);
}, 1500);
还有2种 接触到的定时器 分别是Thread
+Timer
用了Hanlder 觉得最简单 2句代码解决!
timer定时器
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
//Do Something
}
}, delay, period);//delay:从定时器初始化成功 开始启动 的延迟时间。 period:延迟多久执行这个定时器
private void stopTimer(){
if(timer != null){
timer.cancle();//取消定时器
timer = null;// 设置为null,回收定时器
}
}
Thread 线程
直接在用到的地方 new Thread 然后new Runnable 最后sleep休眠时间 即可
new Thread(new Runnable() {
@Override
public void run() {
while(true)
{
try {
Thread.sleep(1000);//休眠时间
//在这里执行需要的操作
return;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();