另一个片段处于活动状态时如何停止相机视图

时间:2019-07-07 07:21:08

标签: java android

我只有两个片段。 例如FragmentOneFragmentTwo

FragmentOne获得了运行功能captureCode();的按钮,该功能可以打开相机并寻找条形码(nevermind)。 但是,当我打开surfaceView中的相机时,我也可以看到选项卡FragmentTwo,并且可以单击它。 (这很好)。但是我有问题。 如果我点击FragmentTwo,我的surfaceView仍然可见,并且看不到FragmentTwo的任何内容。

FragmentOne处于活动状态时,如何停止FragmentTwo中的所有内容?

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式获得可见的片段:

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