Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-getSupportFragmentManager返回null_Android_Android Fragments_Fragmentmanager - Fatal编程技术网

Android-getSupportFragmentManager返回null

Android-getSupportFragmentManager返回null,android,android-fragments,fragmentmanager,Android,Android Fragments,Fragmentmanager,我试图使用片段的标记获取片段的特定实例,但我使用的是viewpager,这使事情变得困难。我用过: public Fragment getFragmentByPosition(int pos) { String tag = "android:switcher:" + R.id.pager + ":" + pos; FragmentManager fragmentManager = this.getSupportFragmentManager(); Fragment fra

我试图使用片段的标记获取片段的特定实例,但我使用的是viewpager,这使事情变得困难。我用过:

public Fragment getFragmentByPosition(int pos) {
    String tag = "android:switcher:" + R.id.pager + ":" + pos;
    FragmentManager fragmentManager = this.getSupportFragmentManager();
    Fragment fragment = fragmentManager.findFragmentByTag(tag);
    return fragment;
}
查找片段,但getSupportFragmentManager返回null


上面的方法在活动中,不在viewpager适配器类中,我不知道在这里该做什么。非常感谢您的帮助,谢谢

您可以从这里使用SmartViewPager

从这个类扩展视图分页器,并使用getActiveFragment方法获取片段。您还可以更改此方法的实现,以按标记名获取片段

public Fragment getActiveFragment(String name) {
    final Fragment fragmentByTag = fragmentManager.findFragmentByTag(name);
    if (fragmentByTag == null) {
        final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        fragmentManager.dump("", null, new PrintWriter(outputStream, true), null);
        final String s = new String(outputStream.toByteArray(), Charsets.UTF_8);
        throw new IllegalStateException("Could not find fragment via hacky way.\n" +
                "We were looking for name: " + name + "\n" +
                "Fragment with this name does not exists, or hack stopped working.\n" +
                "Current fragment manager dump is: " + s);
    }
    return fragmentByTag;
}

您使用的是Fragment还是support Fragment?请发布您的完整活动类我使用的是v4支持库中的support Fragment,很遗憾,我无法发布完整的类,因为我实际上不允许发布。我想看看您在哪里使用该方法。FragmentManager与活动的生命周期有着密切的关系,这就是为什么。既然你把它公之于众,你就有可能在某个地方使用它,当你看到问题的时候,我甚至不能得到fragmentmanager,所以这是行不通的。我仍然需要在这里给它fragmentmanager,因为getSupportFragmentManager不工作,这也不会。。。