我有一个名为MainActivity的活动,其中包含四个片段
。这些片段的名称分别是A、B、C、D。
Fragment currentVisibleFragment = getSupportFragmentManager().findFragmentByTag(null);
使用上述代码行,我正在尝试获取当前可见的
片段
,但我无法获取当前可见的片段。我有一个名为MainActivity的活动,其中包含四个片段
。这些片段的名称分别是A、B、C、D。
Fragment currentVisibleFragment = getSupportFragmentManager().findFragmentByTag(null);
片段
,但我无法获取当前可见的片段。private Fragment getVisibleFragment() {
FragmentManager fragmentManager = MainActivity.this.getSupportFragmentManager();
List<Fragment> fragments = fragmentManager.getFragments();
for (Fragment fragment : fragments) {
if (fragment != null && fragment.isVisible())
return fragment;
}
return null;
}
使用方法
if (getVisibleFragment() instanceof HomeScreen) {
// Logic here...
}
如果MainActivity
是持有者,而HomeScreen
是你其中一个片段。
Fragment getCurrentFragment()
{
Fragment currentFragment = getSupportFragmentManager()
.findFragmentById(R.id.content_frame);
return currentFragment;
}
像这样调用函数
Fragment visibleFragment=getCurrentFragment();
调用此函数可以获取当前可见的片段。如果有任何疑问,请随时提出,谢谢 :)
android.support.v4.app.Fragment getCurrentFragment()
{
Fragment currentFragment = getActivity().getSupportFragmentManager()
.findFragmentById(R.id.frameLayout);
return currentFragment;
}
public boolean checkFragmentAvailableOrNot1(String fragmentName)
{
Fragment fragment=getSupportFragmentManager().findFragmentByTag(fragmentName);
if (fragment instanceof FragMercado && fragment.isVisible())
{
return true;
}
return false;
}