[解決済み] E/AndroidRuntime﹕ FATAL EXCEPTION: main [閉じた].
2022-01-29 03:53:22
質問
<余談
閉じた。
この質問には
デバッギング詳細
. 現在、回答は受け付けておりません。
この質問を改善したいですか? 質問内容を更新して、それが オントロピ Stack Overflowのために。
クローズド 7年前 .
アプリをテストしている間、Android-Studio-Consolで次のようなエラーが発生しました。
08-21 13:56:28.059 9637-9637/net.dominik.genpush E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: net.dominik.genpush, PID: 9637
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{net.dominik.genpush/net.dominik.genpush.settings}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.app.Activity.findViewById(Activity.java:1884)
at net.dominik.genpush.settings.<init>(settings.java:23)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1208)
at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2101)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
以下は、そのコードの一部です。
public CheckBox checkBox_push;
public TextView textView_appby;
public Button button_feedback;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
checkBox_push = (CheckBox) findViewById(R.id.checkBox_push);
textView_appby = (TextView) findViewById(R.id.textView_appby);
button_feedback = (Button) findViewById(R.id.button_feedback);
}
public void onTextClickAppBy(View x)
{
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setData(Uri.parse("http://www.dominiktv.net"));
startActivity(intent);
}
//Button Status Speichern
@Override
public void onPause() {
super.onPause();
save(checkBox_push.isChecked());
}
@Override
public void onResume() {
super.onResume();
checkBox_push.setChecked(load());
}
private void save(final boolean isChecked) {
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("check", isChecked);
editor.commit();
}
private boolean load() {
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
return sharedPreferences.getBoolean("check", true);
}
public void onCheckboxPush(View b)
{
if (checkBox_push.isChecked())
{
//PB
Pushbots.getInstance().setNotifyStatus(true);
//PB E
Toast.makeText(getApplicationContext(), "Push-Benachrichtigungen aktiviert",
Toast.LENGTH_SHORT).show();
}
else
{
//PB
Pushbots.getInstance().setNotifyStatus(false);
//PB E
Toast.makeText(getApplicationContext(), "Push-Benachrichtigungen deaktiviert",
Toast.LENGTH_SHORT).show();
}
}
アプリもエラーで動くのですが、1つのアプリでエラーが出るのは困ります。 すでにいろいろググってみましたが、私のjavaのスキルはとても足りず、初めての自作アプリです
解決方法は?
Caused by: java.lang.NullPointerException
at android.app.Activity.findViewById(Activity.java:1884)
at net.dominik.genpush.settings.<init>(settings.java:23)
あなたが呼んでいるのは
findViewById()
アクティビティを初期化する際に、早すぎる
settings
オブジェクト(おそらくメンバー変数)です。投稿されたコードには、それが表示されていません。
アクティビティ関数を呼び出すことができるのは、本当に
onCreate()
またはそれ以降になります。
また
findViewById()
の後に
setContentView()
で、実際にnull以外を返すことができます。
関連
-
[解決済み】"実引数リストと形式引数リストの長さが異なる"
-
[解決済み】imageio.IIOException: 入力ファイルが読み込めない
-
[解決済み】Javaの".class期待値"
-
[解決済み】Doubleはdereferencedできない?
-
[解決済み】不正な反射的アクセスとは?
-
[解決済み] 二項演算子「&」のオペランド型がおかしい java
-
[解決済み】Java JDK - doubleからintへの非可逆変換の可能性
-
[解決済み] hibernate のプロパティが見つかりません。
-
[解決済み】純粋なJUnitテストにVisibleForTestingを使用する方法
-
[解決済み】intがnullであるかどうかを確認する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Javaパッケージが存在しないエラー
-
[解決済み】imageio.IIOException: 入力ファイルが読み込めない
-
[解決済み】エラー「No enclosing instance of type Foo is accessible」の原因と修正方法について教えてください。
-
[解決済み】ResultSetの例外 - 結果セットの開始前
-
[解決済み】宣言されたパッケージが期待されるパッケージと一致しない ""
-
[解決済み】「java -cp」と「java -jar」の違い?
-
[解決済み】Javaでユーザー入力を待機させる方法
-
[解決済み】Javaを包含するクラスではないのか?
-
[解決済み】Javaのswitch文。定数式が必要だが、定数である
-
[解決済み】Java: GZIPInputStreamの作成に失敗しました。GZIP形式ではありません