我只有两个片段。
例如FragmentOne
和FragmentTwo
。
FragmentOne获得了运行功能captureCode();
的按钮,该功能可打开相机并查找条形码(nevermind)。
但是,当我打开surfaceView
中的相机时,我也可以看到FragmentTwo
选项卡,并且可以单击它。 (这很好)。但是我有问题。
如果单击FragmentTwo
,我的surfaceView
仍然可见,并且看不到FragmentTwo
的任何内容。FragmentOne
处于活动状态时,如何停止FragmentTwo
中的所有内容?
最佳答案
您可以使用以下方法获取可见的片段:
public Fragment getVisibleFragment() {
android.support.v4.app.FragmentManager fragmentManager = MainActivity.this.getSupportFragmentManager();
List<Fragment> fragments = fragmentManager.getFragments();
if (fragments != null) {
for (Fragment fragment : fragments) {
if (fragment != null && fragment.isVisible())
return fragment;
}
}
return null;
}
采用 :
Fragment SelectedFragment = getVisibleFragment();
if (SelectedFragment != null && (SelectedFragment.getTag() == null || !SelectedFragment.getTag().equals("fragment_tag")))
//do something like invisible widgets...