Как установить тег для фрагмента в Android - программирование

Как установить тег для фрагмента в Android

Я просмотрел все вопросы в Stackoverflow, но не смог найти ни одного окончательного ответа на этот вопрос. Как вы установите тег на Fragment, чтобы вы могли получить его через getFragmentManager().findFragmentByTag()? Может ли кто-нибудь дать простой пример кода, как создать тег для Fragment?

4b9b3361

Ответ 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 );
        }