2017-07-17 9 views
1

私はBig Nerd Ranch Guide Android開発第2版を使用していますが、現在はCriminalIntentアプリを使用しています。私はチュートリアルをステップバイステップで実行していますが、おそらく本の後にリリースされた更新プログラムのために開発されたバグがあるようです。 Dateの値を取得して、ボタンにテキストとして設定しようとしています。検索した日付にCharSequenceまたはtoString()を使用することはできません

本は、私がこれを行うことを示唆している:mDateButton.setText(mCrime.getDate().toString());

私はそれをしたとも私はAlt-Enterキーを打ったときに提案されたこのmDateButton.setText((CharSequence) mCrime.getDate());、のようにもCharSequenceでそれをラップしてみました。いずれの場合も、これは私がスタックトレースから取得していますものです:

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に関する関連する質問も見つかりませんでした。私はすべての助けに感謝します。

ありがとうございました。

+0

例外テキストはかなり明白です。java.util.Dateはjava.lang.CharSequenceにキャストできません。あなたのIDEがそれを提案しても、それは動作しません。 –

+1

これを修正する方法はありますか? –

+0

まあ...本が驚いているのは何故? ;-) –

答えて

1

問題はIDEにありました。本の提案は正しい提案です。 IDEの問題は、私が使用しているコンピュータが新しいランごとに以前のスタックトレースを保持していたので、私のコードで問題を修正したとしても、私のアプリケーションは同じスタックトレースを表示してもクラッシュします。

私はそれをどのように解決したのですか?

+1

問題の原因を報告してくれてありがとう。誰かが自分の質問に答えるときはいつも感謝しています。あなたの質問と回答が他の人に役立つと思われる場合は、IDEの問題点とその修正方法を説明してください。そうでない場合は、質問を削除することを検討してください(多分数日のうちに、その人のコメントがあなたの答えを見るチャンスを持っていた)。 –

+1

チップありがとう。私は私の答えを編集しました。質問がうまくいけば、それを上書きしてもいいですか? –

関連する問題