フラグメントで getView を呼び出すと、NULL が返される理由がわかりません。
アプリをデバッグしたonCreateView メソッドの実行直後にgetView を呼び出す
ことができることを知っています。最初に onCreateView メソッドが呼び出されることを確認しました。
だからどこに問題があるのかわからない。
私のコードをお見せします:
これが私の主な活動であり、ユーザーが引き出しメニューをクリックすると、メニューのどの音声が押されているかを確認します:
public void onNavigationDrawerItemSelected(int position) {
...
if (position == 7) {
CreaVotoFragment fragment = CreaVotoFragment.newInstance(position + 1);
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.container, fragment)
.commit();
//Mostra un Dialog che consente l'eliminazione di un corso
fragment.createMark(this);
}
...
}
この場合、ユーザーは音声メニュー番号 7 を押したので、このブロック内で静的メソッド newIstance を使用して新しい Fragment を作成します。
これは方法です:
public static CreaVotoFragment newInstance(int sectionNumber) {
CreaVotoFragment fragment = new CreaVotoFragment();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER, sectionNumber);
fragment.setArguments(args);
return fragment;
}
その後、メソッドにフラグメントを渡すだけです:replace.
それは機能し、クラス CreaVotoFragment でオーバーライドされた onCreateView メソッドを呼び出すこともわかります。
問題は、createMark メソッド (if ブロックの最後の行) で呼び出したときに始まります。
createMark メソッドの内部で、getView を呼び出すと、null ポインターが返されます。