getSupportFragmentManager()。getFragments()已弃用?

Kri*_*lsh 3 android android-fragments

我正在使用viewpager和编译API23。我在以下语句的代码中显示了编译错误,但项目确实可以编译。

List<Fragment> fragments = getSupportFragmentManager().getFragments();
Run Code Online (Sandbox Code Playgroud)

此外,我在Android文档中找不到支持片段管理器和非支持片段管理器的此方法。有人知道这是怎么回事吗?

Kri*_*lsh 5

实际上,我这样做是为了引用所有片段:

private List<WeakReference<Fragment>> mFragList = new ArrayList<WeakReference<Fragment>>();

@Override
public void onAttachFragment (Fragment fragment) {
    mFragList.add(new WeakReference(fragment));
}

public List<Fragment> getActiveFragments() {
    ArrayList<Fragment> ret = new ArrayList<Fragment>();
    for(WeakReference<Fragment> ref : mFragList) {
        Fragment f = ref.get();
        if(f != null) {
            if(f.isVisible()) {
                ret.add(f);
            }
        }
    }
    return ret;
}

public Fragment findFragement(String tClass) {

    List<Fragment> fragments = getActiveFragments();
    for (Fragment fragment : fragments) {
        if (tClass.equalsIgnoreCase("Home")) {
            if (fragment instanceof ToggleFragment) {
                return fragment;

            }
        } else if (tClass.equalsIgnoreCase("Contacts")) {
            if (fragment instanceof ContactFragment) {
                return fragment;
            }
        }
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)