我只有两个片段。
例如FragmentOneFragmentTwo

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...

09-09 22:41