Я просмотрел все вопросы в Stackoverflow, но не смог найти ни одного окончательного ответа на этот вопрос. Как вы установите тег на Fragment
, чтобы вы могли получить его через getFragmentManager().findFragmentByTag()
? Может ли кто-нибудь дать простой пример кода, как создать тег для Fragment
?
Как установить тег для фрагмента в Android
Ответ 1
Вы можете установить Tag
во время транзакции фрагмента.
Например, если это транзакция replace
, вы можете сделать это так:
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.fragment_container, mFragment, TAG)
.commit();
Если используемый Fragment
не из библиотеки поддержки, используйте getFragmentManager()
вместо getSupportFragmentManager()
.
Ответ 2
Я использовал эту функцию для обеспечения между Dialog
и Fragment
.
Когда изменения в Dialogbox
, приложение может легко обновить Fragment
UI
MyFragment.
DialogFragment dialog = LastCycleDate.newInstance( last_period_start );
dialog.setTargetFragment( this, 0 );
dialog.show( getActivity().getSupportFragmentManager(), "showLastCycleDate" );
MyDailogBox.java
Fragment targetFragment; = getTargetFragment();
if( targetFragment instanceof IntroParentFragment ){
IntroParentFragment introParentFragment = ( IntroParentFragment ) targetFragment;
introParentFragment.mutualMethods.setLastCycleStartDay( start_date );
}