アプリケーション内の現在のナビゲーションのほとんどすべてが完璧に動作しています。他の部分についても同じことを行っています。クラッシュするアクティビティを開始しようとしたとき
FATAL EXCEPTION: main
Process: com.package, PID: 15338
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.package/ui.activity.AccountActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getId()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getId()' on a null object reference
at ui.activity.BaseActivity.setInitialFragment(BaseActivity.java:181)
at ui.activity.BaseActivity.setInitialFragment(BaseActivity.java:174)
at ui.activity.BaseActivity.setInitialFragment(BaseActivity.java:160)
at ui.activity.AccountActivity.setInitialFragment(AccountActivity.java:38)
at ui.activity.BaseActivity.onCreate(BaseActivity.java:56)
at android.app.Activity.performCreate(Activity.java:6237)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
は私が追跡することができますnull参照が行われていると、それらはすべて、それを試してみて、バイパスするいくつかのことを試してみました:
は、私は1つの活動から別のものに移動しようとすると、このエラーを取得していますアプリケーションをクラッシュさせます。ここで
は私が活動を開始するブロックである。
@Override
public void onMyAccountOptionSelected() {
Intent intent = new Intent(this, AccountActivity.class);
startActivity(intent);
}
そして、それはview.getId()
にここにつかまり、これはbaseActivityである:
private void setInitialFragment(View view, Fragment fragment) {
if (this.getCurrentFragment() == null) {
FragmentManager fragmentManager = this.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(view.getId(), fragment).commit();
}
}
私が最初にどのAccountActivityでsetInitialFragment()
を呼び出しています私のbaseActivityを拡張します:
@Override
protected void setInitialFragment() {
fragment = (AccountFragment) AccountFragment.newInstance();
setInitialFragment(fragment);
}
あなたは上記のAccountFragmentが今そこにある見ることができるように、このクラスでは、私はabstractFragmentから延びるとのnewInstanceを宣言するための方法があります:
public static Fragment newInstance() {
AccountFragment fragment = new AccountFragment();
return fragment;
}
それがために使用されるプロセスに影響を与えることもできるところ私はどこにも見つけるカントこのアクティビティに移動します。私は迅速な修正を行う方法やこれを解決するより適切な方法を見つける方法を探しています。
ご協力いただきありがとうございます。
ここで、setInitialFragmentを呼び出していますか? – mromer
@mromer私は上記の質問をより説明的に更新しています。それを指摘してくれてありがとう。 – Keeano
@mromer私はもう少し情報を提供するために質問を更新しました、私はあなたを助けることを願っています – Keeano