首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CountdownTimer问题

CountdownTimer问题
EN

Stack Overflow用户
提问于 2012-03-05 05:48:42
回答 1查看 266关注 0票数 0

我有一个崩溃,我找不到原因: final TIME prefs = PreferenceManager.getDefaultSharedPreferences(this);final SharedPreferences = prefs.getInt("TIME",86400000);

代码语言:javascript
复制
   new CountDownTimer(timer, 1000) {

         public void onTick(long elapsed) {

             if(elapsed/3600>=10&&(elapsed/60000)/24>=10)           
                    time.setText(elapsed/3600000+":"+(elapsed/60000)/24);
                    else 
                        if(elapsed/60000>=10&&(elapsed/60000)/24<10)
                        time.setText(elapsed/36000+":"+"0"+elapsed/60000);               
                        else if(elapsed/60000<10&&(elapsed/60000)/24>10)
                            time.setText("0"+elapsed/36000+":"+elapsed/60000);      
                            if(elapsed/60000<10&&(elapsed/60000)/24<10)
                            time.setText("0"+elapsed/36000+":"+"0"+elapsed/60000);  

                        SharedPreferences.Editor editor = prefs.edit();
                              editor.putLong("TIME",elapsed);
                              editor.commit(); 
         }
         public void onFinish() {

         }
      }.start();

Application crashes on line:  03-04 23:44:23.949: E/AndroidRuntime(404): java.lang.RuntimeException: Unable to start activity ComponentInfo{tedehlia.liadore/tedehlia.liadore.Hug}: java.lang.ClassCastException: java.lang.Long
03-04 23:44:23.949: E/AndroidRuntime(404):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-04 23:44:23.949: E/AndroidRuntime(404):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-04 23:44:23.949: E/AndroidRuntime(404):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-04 23:44:23.949: E/AndroidRuntime(404):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-04 23:44:23.949: E/AndroidRuntime(404):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-04 23:44:23.949: E/AndroidRuntime(404):  at android.os.Looper.loop(Looper.java:123)
03-04 23:44:23.949: E/AndroidRuntime(404):  at android.app.ActivityThread.main(ActivityThread.java:3683)
03-04 23:44:23.949: E/AndroidRuntime(404):  at java.lang.reflect.Method.invokeNative(Native Method)
03-04 23:44:23.949: E/AndroidRuntime(404):  at java.lang.reflect.Method.invoke(Method.java:507)
03-04 23:44:23.949: E/AndroidRuntime(404):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-04 23:44:23.949: E/AndroidRuntime(404):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-04 23:44:23.949: E/AndroidRuntime(404):  at dalvik.system.NativeStart.main(Native Method)
03-04 23:44:23.949: E/AndroidRuntime(404): Caused by: java.lang.ClassCastException: java.lang.Long
03-04 23:44:23.949: E/AndroidRuntime(404):  at android.app.ContextImpl$SharedPreferencesImpl.getInt(ContextImpl.java:2817)
03-04 23:44:23.949: E/AndroidRuntime(404):  at tedehlia.liadore.Hug.onCreate(Hug.java:43)
03-04 23:44:23.949: E/AndroidRuntime(404):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-04 23:44:23.949: E/AndroidRuntime(404):  at  android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-04 23:44:23.949: E/AndroidRuntime(404):  ... 11 more
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-05 05:51:56

您正在尝试读取java.lang.Integer:

代码语言:javascript
复制
final int timer = prefs.getInt("TIME", 86400000);

但是您存储的是一个java.lang.Long:

代码语言:javascript
复制
SharedPreferences.Editor editor = prefs.edit();
editor.putLong("TIME",elapsed);
editor.commit();

考虑更改其中一个,使它们匹配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9559133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档