Как скрыть FAB от подфрагмента? - PullRequest
2 голосов
/ 17 июня 2019

Ну, у меня есть Activity (с ViewPager и FAB)

В ViewPager есть NotesFragment (фрагмент содержит только RecyclerView)

И у меня есть Fragment вызывает AddNoteFragment, который выполняет работуДобавление и отображение существующей заметки: 1) В разделе «Действия» откройте AddNoteFragment для добавления заметки, что логично, 2) А из RecyclerView, щелкнув элемент, откройте AddNoteFragment с подробной информацией о выбранном элементе

Вопрос: как скрыть FAB наДеятельность, когда я открываю AddNoteFragment, чтобы правильно показать захватывающую заметку?Единственный способ, которым я знаю, - это использование интерфейса и его передача, но это будет выглядеть как RecyclerViewAdapter -> NotesFragment -> ViewPagerAdapter -> Activity, выглядит странно ..

1 Ответ

0 голосов
/ 17 июня 2019

Хотя я думаю, что использование интерфейса - это хороший способ сделать это, вы, возможно, захотите взглянуть на EventBus (https://github.com/greenrobot/EventBus),, он работает так же, как BroadcastReceiver, все, что вам нужно сделать, это дождаться события насвою активность и скрывайте / показывайте ее в любое время. Ниже приведен код, который вы должны добавить в свою деятельность:

@Override
 public void onStart() {
     super.onStart();
     EventBus.getDefault().register(this);
 }

 @Override
 public void onStop() {
     super.onStop();
     EventBus.getDefault().unregister(this);
 }

@Subscribe(threadMode = ThreadMode.MAIN)  
public void onMessageEvent(Boolean show) {if (show){
  fab.show()
}else{
  fab.hide()
}};

затем, когда захотите, просто позвоните по этому номеру

* 1007.*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...