Я использую проводник, но у меня проблема в том, что после изменения конфигурации контроллер существует в backstack маршрутизатора, но он не подключается.
Моя активность:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
setSupportActionBar(toolbar);
router = Conductor.attachRouter(this, container, savedInstanceState)
bottomNavigationView.setOnNavigationItemSelectedListener(this);
if (router.getBackstack().size() == 0) {
router.pushController(RouterTransaction.with(new BaseController()).tag(BaseController.TAG).pushChangeHandler(changeHandler).popChangeHandler(changeHandler));
}
}
В onNavigationItemSelectedListener я просто меняю push новый контроллер или меняю порядок backstack в соответствии с выбранным элементом нижней навигационной панели.
Мой базовый контроллер:
protected View onCreateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container) {
View view = inflater.inflate(R.layout.view_list_members, container, false);
return view;
}
РЕДАКТИРОВАТЬ: Итак, ясделал некоторые дополнительные копания.После изменения конфигурации контроллер, который находится в задней части маршрутизатора, имеет флаг needsAttach
, установленный в значение false, хотя его флаг attached
также имеет значение false.Я попытался воспроизвести пример проводника, который прекрасно работает без какой-либо удачи.