私はAndroidアプリをプログラミングしています。
ApplicationContext という Application を拡張するクラスがあります
この呼び出しを行うと、クラスキャストの実行で爆発します
ApplicationContext appContext = (ApplicationContext) getApplicationContext();
なぜこれが起こっているのか誰にも分かりますか?
ありがとう
私はAndroidアプリをプログラミングしています。
ApplicationContext という Application を拡張するクラスがあります
この呼び出しを行うと、クラスキャストの実行で爆発します
ApplicationContext appContext = (ApplicationContext) getApplicationContext();
なぜこれが起こっているのか誰にも分かりますか?
ありがとう
という名前のクラスがありApplicationContextますか?SDK に同じ名前のクラスが既に存在するためです。クラスの名前を変更します。
とにかく、オブジェクトを返すgetApplicationContext()メソッドです。Contextandroid.content.Context
列に並んでいる場合、
ApplicationContext appContext = (ApplicationContext) getApplicationContext();
ApplicationContextYOUR class を参照するとApplicationContext、クラス キャスト例外が発生getApplicationContext()します。YOUR クラスを返さないため、android.context.Context. その場合、行を次のように変更します。
android.content.ApplicationContext appContext = getApplicationContext();
私はあなたのインポートを見ることができないので、問題は実際には逆である可能性があります. ApplicationContextを参照しandroid.content.ApplicationContext、 をgetApplicationContext()返すあなたのメソッドですyour.package.ApplicationContext。その場合、行を次のように変更します。
your.package.ApplicationContext appContext = getApplicationContext();
Androidのクラスは公開されていないと思いますApplicationContext。これは、AndroidSDKクラス専用の抽象クラスだと思います。
また、拡張アプリケーションクラスにコンテキストを割り当てることはできません。を拡張する必要がありますContext。