如何在Android中为Fragment设置标签

13

我查看了Stackoverflow上的所有问题,但没有找到一个单一明确的答案来回答这个问题。如何为Fragment设置一个,以便你可以通过getFragmentManager().findFragmentByTag()取回它? 有人能给一个简单的代码示例来创建一个Fragment标签吗?

2个回答

26

在片段事务期间,您可以设置Tag

例如,如果是一个replace事务,您可以这样做:

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

如果您使用的Fragment不是来自Support Library,请改用getFragmentManager()而不是 getSupportFragmentManager()


0

我使用了这个功能来提供Dialog框和Fragment之间的交互。当在Dialog框中进行更改时,应用程序可以轻松更新Fragment用户界面。

我的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 );
        }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接