如何在 Android 中将标签设置为片段
How to set a Tag to a Fragment in Android
我查看了 Whosebug 上的所有问题,但找不到这个问题的唯一明确答案。如何 将标签设置为 Fragment
以便您可以通过 getFragmentManager().findFragmentByTag()
检索它?有人可以给出一个简单的代码示例,说明如何为 Fragment
创建标签吗?
您可以在片段交易期间设置一个Tag
。
例如,如果是 replace
交易,您可以这样做:
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.fragment_container, mFragment, TAG)
.commit();
如果您使用的 Fragment
来自支持库 而不是 ,请使用 getFragmentManager()
而不是 getSupportFragmentManager()
。
我使用该功能在 Dialog
框和 Fragment
之间提供。
当 Dialogbox
中发生更改时,App 可以轻松更新 Fragment
UI
我的片段。
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 );
}
我查看了 Whosebug 上的所有问题,但找不到这个问题的唯一明确答案。如何 将标签设置为 Fragment
以便您可以通过 getFragmentManager().findFragmentByTag()
检索它?有人可以给出一个简单的代码示例,说明如何为 Fragment
创建标签吗?
您可以在片段交易期间设置一个Tag
。
例如,如果是 replace
交易,您可以这样做:
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.fragment_container, mFragment, TAG)
.commit();
如果您使用的 Fragment
来自支持库 而不是 ,请使用 getFragmentManager()
而不是 getSupportFragmentManager()
。
我使用该功能在 Dialog
框和 Fragment
之间提供。
当 Dialogbox
中发生更改时,App 可以轻松更新 Fragment
UI
我的片段。
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 );
}