1. ホーム
  2. アンドロイド

AndroidでAttempt to invoke virtual method... on null object referenceの例外が発生する。

2022-01-24 23:19:49
<パス

"新聞は自己憐憫に満ちている、誰が秋の心を説明できる"
本日、Androidアプリケーションを実行したところ、以下のエラーが発生しました。

いろいろと調べてみると、私が書いた

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        navView = (NavigationView) findViewById(R.id.nav_view);
        Log.d("navView",navView.toString());

    }

これは、nav_view が activity_main.xml にないため、ヌルポインター例外が報告されます。
まず、inflateを使って別のxmlファイルを取得する必要があります。それからfindViewByIdメソッドを使って取得します。

View account = View.inflate(this, R.layout.account, null);
navView = (NavigationView)account.findViewById(R.id.nav_view);
Log.d("navView",navView.toString());

そして、これで終わりです。