[解決済み] カスタムグローバルアプリケーションクラスが "android.app.Application cannot be cast to" でブレークする。
2022-05-03 06:17:41
質問
私は、以下のようなカスタムグローバルクラスを持っています。
import android.app.Application;
public class MyApp extends Application {
public String MainAct;
public String getMainAct() {
return MainAct;
}
public void setMainAct(String mainAct) {
MainAct = mainAct;
}
}
このクラスで文字列を保持するために、別の
Activity
その中で
onCreate
メソッドを使用します。
String local = "myLocalVariable";
((MyApp) getApplication()).setMainAct(local); //breaks here!!!
String name = ((MyApp) getApplication()).getMainAct();
マークされた行でエラーとなり、改行されます。
Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to com.xxx.yyy.global.MyApp
5回ほどコードをチェックしましたが、どこにもエラーは見当たりません。どなたかエラーの場所を教えていただけませんか?
ありがとうございます
解決方法は?
で返されたオブジェクトの型が、このエラーの原因です。
getApplication
は
android.app.Application
. この原因として考えられるのは、マニフェストでアプリケーションの定義に失敗していることです。マニフェストに以下の行が含まれていることを確認してください。
<application android:name=".MyApp"...
</application>
関連
-
AAPT2エラーについて:詳しくはログをご確認ください。
-
Androidのadbデバイスがオフラインであることが判明
-
AndroidStudio3.0 Error:Execution failed for task ':app:processDebugResources'.
-
アンドロイドスタジオでJunitのエラー問題を解決する
-
例外「指定された子にはすでに親がいます」の解決方法。removeViewを呼び出す必要があります" の解決方法(ソースコード付き例)
-
アンドロイドのエリプサイズを使用する
-
ConstraintLayoutのいくつかのプロパティの概要(RelativeLayoutの強化版、LinearLayoutの比例プロパティを含む、階層ツールの削減)。
-
アンドロイドリストビュー
-
アンドロイドシェイプ、グラデーション、角丸、ボーダーラインの設定
-
Android TextViewは、テキスト内容が表示省略記号を超えているかどうかを判断する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
gitlab 設定エラー。リモートリポジトリから読み込めなかったか、ホストキーの検証に失敗しました。
-
プログラム "git.exe "を実行できない場合の正しい解決方法です。CreateProcessエラー=2
-
を作ってください。*** makeするルールがない エラーの原因、分析、解決策
-
Google PlayデバイスはPlay保護機構の認証を受けていません。
-
指定された子にはすでに親がいます。まず、その子の親に対して removeView() をコールする必要があります。
-
エラータイプ 3 タイプエラー, Error: アクティビティクラス{}が存在しません。アクティビティ起動時のエラー 解決方法
-
Android ProgressBarの色を変更する
-
アンドロイドリストビュー
-
Android Studio常见错误之:Rendering Problems/The following classes could not be instantiated
-
android.content.ActivityNotFoundException を解決します。Intent問題を処理するActivityが見つからない