Я не знаю, почему в моем фрагменте, когда я вызываю getView, он возвращает NULL.
Я знаю, что я могу вызов GetView только после исполнения onCreateView метод
Я отлажена мое приложение, и я проверил, что первый называется методом onCreateView.
Так что я не знаю, где проблема.
Я покажу вам мой код:
это моя основная деятельность, и когда пользователь нажмет в меню ящика я проверить, какой голос меню нажимается:
фрагмент - метод getView() возвращает NULL
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.
это метод:
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;
}
после этого я просто дать фрагмент к методу: заменить.
Это работает, и я также вижу, что он вызывает метод WithCreateView, переопределенный в классе CreaVotoFragment.
Проблема начинается, когда я вызываю метод createMark (последняя строка блока if).
внутри метода createMark, когда я вызываю getView, возвращаю мне нулевой указатель.
, так что я мог бы вызвать метод createMark() внутри метода фрагмента onCreateView? –
Да. Но обратите внимание, что getView() вернет представление только после onCreateView(). Если вы хотите вызвать getView() в некоторых методах, просто сделайте это между onCreateView() и onDestroyView() – slesar