无法使用CharSequence或toString()来检索日期

时间:2017-07-17 09:31:31

标签: android simpledateformat

我正在阅读Big Nerd Ranch Guide Android开发第2版,而我目前正在使用CriminalIntent应用程序。我一步一步地按照教程进行操作,但似乎有一个错误可能是由于本书之后发布的更新而产生的。我试图检索我的Date值并将其设置为我的按钮的文本。

这本书建议我这样做:mDateButton.setText(mCrime.getDate().toString());

我做到了这一点,并尝试将其包含在CharSequence以及mDateButton.setText((CharSequence) mCrime.getDate());中,这是在我点击alt-enter时建议的。在任何一种情况下,这都是我从堆栈跟踪中得到的:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.jadecondos.criminalintent/com.example.jadecondos.criminalintent.CrimeActivity}: java.lang.ClassCastException: java.util.Date cannot be cast to java.lang.CharSequence
             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
             at android.app.ActivityThread.-wrap12(ActivityThread.java)
             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
             at android.os.Handler.dispatchMessage(Handler.java:102)
             at android.os.Looper.loop(Looper.java:154)
             at android.app.ActivityThread.main(ActivityThread.java:6119)
             at java.lang.reflect.Method.invoke(Native Method)
             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
          Caused by: java.lang.ClassCastException: java.util.Date cannot be cast to java.lang.CharSequence
             at com.example.jadecondos.criminalintent.CrimeFragment.onCreateView(CrimeFragment.java:54)

如果我遗漏了一些东西,我试过了这本书。我也无法在StackOverflow上找到相关问题。我感谢所有的帮助。

感谢。

1 个答案:

答案 0 :(得分:1)

问题在于IDE。该书的建议是正确的建议。 IDE的问题在于我正在使用的计算机为每次新运行保留了以前的堆栈跟踪,所以即使我在我的代码中修复了问题,我的应用程序仍会崩溃,显示相同的堆栈跟踪。

我是如何解决这个问题的最好的(我自己的)笔记本电脑。