私はAndroidアプリをプログラミングしています。
ApplicationContext という Application を拡張するクラスがあります
この呼び出しを行うと、クラスキャストの実行で爆発します
ApplicationContext appContext = (ApplicationContext) getApplicationContext();
なぜこれが起こっているのか誰にも分かりますか?
ありがとう
私はAndroidアプリをプログラミングしています。
ApplicationContext という Application を拡張するクラスがあります
この呼び出しを行うと、クラスキャストの実行で爆発します
ApplicationContext appContext = (ApplicationContext) getApplicationContext();
なぜこれが起こっているのか誰にも分かりますか?
ありがとう
という名前のクラスがありApplicationContext
ますか?SDK に同じ名前のクラスが既に存在するためです。クラスの名前を変更します。
とにかく、オブジェクトを返すgetApplicationContext()
メソッドです。Context
android.content.Context
列に並んでいる場合、
ApplicationContext appContext = (ApplicationContext) getApplicationContext();
ApplicationContext
YOUR 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
。