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

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


person CBA110    schedule 05.05.2015    source источник


Ответы (2)


Вы можете установить Tag во время транзакции фрагмента.

Например, если это транзакция replace, вы можете сделать это так:

FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
        .replace(R.id.fragment_container, mFragment, TAG)
        .commit();

Если используемый вами Fragment не из библиотеки поддержки, используйте getFragmentManager() вместо getSupportFragmentManager().

person Bartek Lipinski    schedule 05.05.2015

Я использовал эту функцию, чтобы обеспечить связь между Dialog полем и Fragment. Когда в Dialogbox вносятся изменения, приложение может легко обновить Fragment пользовательский интерфейс.

Мой Фрагмент.

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 );
        }
person Olkunmustafa    schedule 05.05.2015