【问题标题】:FragmentPageAdapter without FragmentActivity没有 FragmentActivity 的 FragmentPagerAdapter
【发布时间】:2015-11-19 07:45:18
【问题描述】:

我可以在没有 FragmentActivity 的情况下使用 FragmentPageAdapter 吗?

我的 PageView 在 Fragment 中,而不是在 Activity 中。

【问题讨论】:

  • 让问题更简单易读,让用户更有可能快速了解您想要什么,并知道他们是否可以提供帮助。
  • 谢谢老兄......它是正确的......

标签: android fragmentpageradapter pageviews


【解决方案1】:

是的,你可以。如果你使用

android.support.v13.app.FragmentPagerAdapter

来自支持库 v13。您可以使用原生 Fragment 和 Activity 代替 v4.Fragment 和 FragmentActivity。

在这种情况下,您可以像这样构造适配器

 mAdapter = new MyAdapter(getFragmentManager());

【讨论】:

    【解决方案2】:

    你应该使用getChildFragmentManager()

    你应该有一个扩展 FragmentPagerAdapter 的适配器。

    public class TestFragmentPagerAdapter extends FragmentPagerAdapter {
    
        public TestFragmentPagerAdapter(FragmentManager fm) {
            super(fm);
        }
    
        @Override
        public Fragment getItem(int position) {
            return new YourFragment();
        }
    
        @Override
        public int getCount() {
            return 3;
        }
    }
    

    并新建一个 TestFragmentPagerAdapter 的实例,

    TestFragmentPagerAdapter testFragmentPagerAdapter = new TestFragmentPagerAdapter(getChildFragmentManager());
    

    【讨论】:

    • 是否可以将 getChildFragmentManager 放入构造函数而不是 getSupportFragmentManager?
    • 是的,在片段中你应该把getChildFragmentManager()放到FragmentPagerAdapter的构造函数中。在FragmentActivity 中,使用getSupportFragmentManage()
    • 新的 PageAdapter(getChildFragmentManager());正确的?但是当我使用这些代码时,我得到了错误......构造函数pageAdapter未定义......就像这样。
    • 没错。你扩展FragmentPagerAdapter了吗?
    • 你能给我看一些使用getChildFragmentManager的示例代码吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 2018-06-08
    • 1970-01-01
    相关资源
    最近更新 更多