Intereting Posts

Android-фрагменты скрывают шоу OnHide / OnShow?

Я спрашиваю об этом, потому что я немного любопытен.

1) Большинство демонстраций google обнаруживают фрагменты по его идентификатору, если фрагмент уже создан в xml.

Поэтому, если мы примем такой подход, то, как мы показываем фрагменты, скрывает его и показывает его, поскольку фрагменты уже созданы.

2) Есть также примеры, предоставляемые google, где вы можете создать фрагмент с помощью конструктора и раздуть его. Это действует странно, так как getActivity () возвращает null, если он вызван в этом фрагменте.

Итак, если я возьму первый подход, я должен скрыть и показать фрагменты. Итак, почему google не предоставляет перехваты для фрагментов, таких как onHide или onShow, чтобы мы могли корректно обрабатывать вещи, если выполняем очистку себя с помощью функций, которые мы реализуем и вызываем явно.

Solutions Collecting From Web of "Android-фрагменты скрывают шоу OnHide / OnShow?"

Если вы хотите подключить op on onHide / onShow просто переопределите

 public void onHiddenChanged(boolean hidden) { } 

В вашем фрагменте.

С помощью Overrinde setUserVisibleHint вы можете легко отслеживать его.

  @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if(isVisibleToUser){ //When fragment is visible } Log.i("my_fragment","setUserVisibleHint: "+isVisibleToUser); } 

Я переопределяю функцию ниже, чтобы определить, показан или нет фрагмент.

@Override public void setMenuVisibility (окончательный логический вид)