我有MainActivity,在此活动中我有四个fragments
。片段名称为A,B,C,D.
Fragment currentVisibleFragment = getSupportFragmentManager().findFragmentByTag(null);
使用上面的这一行,我试图让当前可见fragment
,但我无法得到当前可见的片段。
答案 0 :(得分:12)
Fragment getCurrentFragment()
{
Fragment currentFragment = getSupportFragmentManager()
.findFragmentById(R.id.content_frame);
return currentFragment;
}
像这样调用函数
Fragment visibleFragment=getCurrentFragment();
调用此函数可以获得当前可见的片段。如果有任何混淆,那么可以免费询问thankx :)
答案 1 :(得分:11)
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
是您的片段之一。
答案 2 :(得分:0)
public boolean checkFragmentAvailableOrNot1(String fragmentName)
{
Fragment fragment=getSupportFragmentManager().findFragmentByTag(fragmentName);
if (fragment instanceof FragMercado && fragment.isVisible())
{
return true;
}
return false;
}
答案 3 :(得分:0)
android.support.v4.app.Fragment getCurrentFragment()
{
Fragment currentFragment = getActivity().getSupportFragmentManager()
.findFragmentById(R.id.frameLayout);
return currentFragment;
}