【问题标题】:ViewPager and FragmentActiviy instead of FragmentViewPager 和 FragmentActiviy 代替 Fragment
【发布时间】:2014-04-11 19:16:31
【问题描述】:

我有一个简单的应用程序,现在我将其更改为更专业... 现在我希望我的应用程序的所有部分都进入ViewPager 而不是隐藏在按钮下,我的应用程序的一部分是扩展Activty 的文件管理器,我将其更改为扩展FragmentActivty 以使用ViewPager 没有毕竟成功了。

我的问题是:是否可以使用其他类型的 Fragments 而不是 Fragment 来代替 ViewPager

我应该从头开始编写我的文件管理器吗!!!??? 有没有替代品?

编辑:我想创建类似 app

的东西
@Override
    public Fragment getItem(int position) {
        switch (position) {
        case 0: 
            return FragmentClass.newInstance(0, "Page # 1");
        case 1: 
            return FragmentClass.newInstance(1, "Page # 2");
        case 2: 
            return FileDialog.newInstance(2, "FileManager");
//Here is my problam, that says "Type mismatch: cannot convert from FileDialog to Fragment"
//It wants Fragment type
            default:
                return null;
            }
        }

【问题讨论】:

    标签: android android-viewpager fragment android-fragmentactivity


    【解决方案1】:

    FragmentActivity 不是 Fragment,它是支持库中的一个特殊 Activity,它允许您在旧版本的 Android 中使用 Fragment。不幸的是,您不能将 FragmentActivity 放在 ViewPager 中。如果您打算使用 ViewPager,则必须从支持库中的 Fragment 类派生类,因为 ViewPager 仅存在于支持库中。

    为了澄清 Fragment,您会遇到两种不同的 Fragment 超类(都称为 Fragment)。不同之处在于一个来自普通的 Android 库,另一个来自支持库。如果要与 ViewPager 一起使用,则需要从支持库 (android.support.v4.app.Fragment) 中的 Fragment 超类派生的 Fragments。

    【讨论】:

    • 谢谢。 ViewPager 有什么替代品吗?许多应用程序都具有此功能,例如股票 JellyBean 联系人应用程序或我在问题中提到的应用程序。我只想要像ViewPager 提供的那样滑动应用程序部分的能力。提前致谢
    【解决方案2】:

    片段本身是一个超类,可以以不同的方式使用。

    Take a look at the developer docs on Fragments 以表彰他们的实施以及使用方面的最佳实践。除非您正在为您的应用程序寻找一个非常具体的库,否则您不需要重新发明轮子。

    【讨论】:

    • 我已经阅读了该文档。我编辑了我的问题。是否可以使用其他类型的片段而不是 ViewPager 的片段?我的意思是在我提供的代码中。感谢您的宝贵时间
    猜你喜欢
    • 2017-04-07
    • 2011-12-05
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 2021-07-26
    • 1970-01-01
    • 2014-05-03
    • 2014-08-31
    相关资源
    最近更新 更多