Я новичок во фрагментах и пытаюсь выполнить действие и преобразовать его во фрагмент. Многим вещам, которые я использую, нужен Context, и когда я использую getActivity (), я получаю журнал предупреждений о том, что он может возвращать null, и я не уверен, как это исправить. Я прочитал, что должен как-то прикрепить фрагмент к упражнению, но я не уверен. Я в основном использую одно действие и собираюсь иметь 4 фрагмента, потому что я хочу использовать навигационный ящик.
Это основное действие для показа фрагментов
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.nav_calendar:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new CalendarFragment()).commit();
break;
case R.id.nav_survey:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new SurveyFragment()).commit();
break;
case R.id.nav_forum:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new ForumFragment()).commit();
break;
case R.id.nav_logout:
logout();
break;
case R.id.nav_contact:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new ContactFragment()).commit();
break;
}
drawer.closeDrawer(GravityCompat.START);
return true;
}
И во фрагментах onCreateView () у меня есть это, у меня много методов, и большинство из них используют Context, я добавил оператор if из-за того же предупреждения, и это, похоже, сработало, но как мне позаботиться об остальном при использовании Context. Я не вижу, чтобы утверждение if для каждого раза было хорошим делом.
View view = inflater.inflate(R.layout.fragment_calendar, container, false);
if (getActivity() != null) {
((MainActivity) getActivity()).getSupportActionBar().setTitle(R.string.calendar);
}
AndroidThreeTen.init(getActivity());
initialBuild(view);
buildCalendarView();
setRecyclerView();
return view;
Редактировать
Похожие изображения
Также я пытался без @NonNull
![enter image description here](https://i.stack.imgur.com/VdEVl.jpg)
![enter image description here](https://i.stack.imgur.com/vJT3U.png)