关于Timer写在BaseActivity里面 重复new 报错的问题
来源:互联网 发布:js防水涂料施工工艺 编辑:程序博客网 时间:2024/06/06 08:40
<span style="font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(245, 245, 245);">有一个需求。希望每个界面都可以设计一个倒计时器,几分钟用户没有操作,就自动返回。</span>
但是我在写的时候,发现,这个Timer写在BaseActivity里面老是程序自动挂掉,发现这个倒计时貌似不能够每次重复的去new。
然后老大给了我一个思路就是直接把这个timer设置成一个静态, 整个程序共用一个Timer ,然后我貌似就只需要重置他的时间就好了。
private static int time = 10;private static Timer timer ;
if (timer ==null ) { timer = new Timer(); timer.schedule(task, 1000, 1000);}
TimerTask task = new TimerTask() {@Overridepublic void run() {runOnUiThread(new Runnable() { // UI thread@Overridepublic 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;//指出对象是否是MainActivity类的一个实例if (gContext instanceof MainActivity == true) {exitMain();}}}};};
项目里面的 BaseActivity 我用handle传递参数改变UI界面 用来返回主界。
看来看起来并不是很复杂。。但是当时确实困扰了我挺久的。所以做个笔记。
0 0
- 关于Timer写在BaseActivity里面 重复new 报错的问题
- 【MVP】BaseActivity里面的内容
- 关于BaseActivity的用法
- fragment里面new一个Dialog报错
- 关于从myeclipse里面的SVN导入项目,报错问题的解决办法
- 关于List l1 = new LinkedList();报错:不兼容的类型的问题的解决
- 关于Timer的注意问题
- js里面的Timer
- 关于BaseActivity的一些总结
- 函数体里面new的问题
- 关于VS2005里面的FormClosing事件内添加对话框后重复执行的问题
- 关于VS2008里面的FormClosing事件内添加对话框后重复执行的问题
- 关于Fragment里面ListView.setAdapter(SimpleAdapter)报空指针的问题
- C#中关于timer的简单问题
- 关于VB中Timer停止的问题
- 关于C#timer 时间精确度的问题
- 关于new的一个问题
- 关于new VaribleInfo[]{}的问题
- 九度OJ 1000:计算a+b
- android-加载网络Gif和本地Gif
- Java 集合系列02之 Collection架构
- 利用spring 3.0+springMVC+dwr 3.0 实现一对一的无刷新聊天(一)
- hadoop-lzo环境变量的设置
- 关于Timer写在BaseActivity里面 重复new 报错的问题
- OkHttpClientManager使用
- ajax整理
- Android类-Service
- 堆排序
- 2014鞍山站 D - Galaxy(数论+贪心)
- swift开发笔记11 - 使用UIAlertController在底部弹出日期选择框
- Mavan打包项目报错以及解决办法。
- iOS-iOS打开手机QQ与指定用户聊天界面