2个回答
展开全部
Timer mTimer = new Timer();
mTask = new TimerTask(){
public void run(){
//execute the task
Message message = new Message();
message.what = DIALOG_HIDE;
//Log.e(TAG, "message.what = DIALOG_HIDE");
mHandler.sendMessage(message);
}
};
mTimer.schedule(mTask, 5000);
在主线程里开启timer,等于启动了另一个线程,线程之间的通信是要用handler发送message,然后在主线程里用handler.handleMessage()里面接收并处理。
mTask = new TimerTask(){
public void run(){
//execute the task
Message message = new Message();
message.what = DIALOG_HIDE;
//Log.e(TAG, "message.what = DIALOG_HIDE");
mHandler.sendMessage(message);
}
};
mTimer.schedule(mTask, 5000);
在主线程里开启timer,等于启动了另一个线程,线程之间的通信是要用handler发送message,然后在主线程里用handler.handleMessage()里面接收并处理。
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
定时器代码:
Timer mTimer = new Timer();
mTimer.schedule(new TimerTask() {
@Override
public void run() {
//要执行的操作
}
}, 5*1000, 10*1000); //调用 schedule() 方法后,要等待5s才第一次执行 run() 方法,之后每隔10s执行一次
//停止定时器
mTimer.cancel();
缩短执行时间(越小越精确),定时器里面放一个计数器,应该就可以得到时间了,可以试试看
Timer mTimer = new Timer();
mTimer.schedule(new TimerTask() {
@Override
public void run() {
//要执行的操作
}
}, 5*1000, 10*1000); //调用 schedule() 方法后,要等待5s才第一次执行 run() 方法,之后每隔10s执行一次
//停止定时器
mTimer.cancel();
缩短执行时间(越小越精确),定时器里面放一个计数器,应该就可以得到时间了,可以试试看
更多追问追答
追问
哦,谢谢,我要在游戏主线程里面开启,不用使用Handler进行通信吗?
追答
这个我就不是太清楚了,我是个初学者,正好用过定时器就回答了一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询