【发布时间】:2015-05-05 19:57:46
【问题描述】:
我查看了 Stackoverflow 上的所有问题,但找不到一个明确的答案。如何将标签设置为Fragment,以便可以通过getFragmentManager().findFragmentByTag() 检索它?有人可以提供一个简单的代码示例来说明如何为Fragment 创建标签吗?
【问题讨论】:
标签: android android-fragments fragmentmanager
我查看了 Stackoverflow 上的所有问题,但找不到一个明确的答案。如何将标签设置为Fragment,以便可以通过getFragmentManager().findFragmentByTag() 检索它?有人可以提供一个简单的代码示例来说明如何为Fragment 创建标签吗?
【问题讨论】:
标签: android android-fragments fragmentmanager
您可以在片段交易期间设置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 );
}
【讨论】: