在BaseActivity里面定义了一个倒计时返回主界面和每个界面的返回其冲突

骚气的大勇 2015-10-08 02:05:45
项目里面的 BaseActivity 我用handle传递参数改变UI界面 用来返回主界面

	
timer = new Timer();
timer.schedule(task, 1000, 1000);

TimerTask task = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() { // UI thread
@Override
public void run() {
time--;
Message msg = new Message();
msg.what = 1;
handler.sendMessage(msg);
}
});
}
};

Handler handler = new Handler(){
public void handleMessage(Message msg) {
Log.i("msg.what", msg.what+"");
if (msg.what == 1) {
Log.i("time", time+"");
if (time < 0) {
Log.i("time", time+"");
timer.cancel();
timer=null;
exitMain();//返回主界面的方法
}
}else if(msg.what == 2){
if (timer != null){
timer.cancel(); //将原任务从队列中移除
timer=null;
}
}
};
};


差不多如上。 确实也可以返回主界面。

然后每个界面有个返回上一个界面的按钮。那个是直接把当前Activity 给Finish()掉。
然后就起冲突了。。。

log也没有报错,
D/AndroidRuntime(13151): Shutting down VM
W/dalvikvm(13151): threadid=1: thread exiting with uncaught exception (group=0x416b7930)

实在没招了。。试了好几种倒计时的方法也都不行。

求各位大神给个思路。或者解决方案。。。不胜感激!!!!

...全文
66 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
骚气的大勇 2015-10-08
  • 打赏
  • 举报
回复
表示自己后来找到另外一种方法了。http://blog.csdn.net/a358583166/article/details/48974481 就是把这个倒计时器弄成静态的。 不是每个去new 而是直接弄一个全局都存在的
月盡天明 2015-10-08
  • 打赏
  • 举报
回复
你先说说你的需求吧。。 没看懂你想要干嘛!~~~

80,362

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧