0

所以我试图在我的应用程序中创建一个滑动标签视图。但我遇到的问题是我的片段需要是 FragmentActivity 因为它们里面有列表视图。

所以我认为这是我得到错误的地方:

public Fragment getItem(int index) {

    switch (index) {
    case 0:
        // Top Rated fragment activity
        return new TopRatedFragment();
    case 1:
        // Games fragment activity
        return new GamesFragment();
    case 2:
        // Movies fragment activity
        return new MoviesFragment();
    case 3:
        //Other fragment activity
        return new OtherFragment();
    }

    return null;
}

这需要是:

public FragmentActivity getItem(int index) {

    switch (index) {
    case 0:
        // Top Rated fragment activity
        return new TopRatedFragment();
    case 1:
        // Games fragment activity
        return new GamesFragment();
    case 2:
        // Movies fragment activity
        return new MoviesFragment();
    case 3:
        //Other fragment activity
        return new OtherFragment();
    }

    return null;
}

但我在这一行不断收到错误:

public FragmentActivity getItem(int index) {

错误:

The return type is incompatible with FragmentPagerAdapter.getItem(int)

有谁知道我在这里做错了什么?
我的课在延长FragmentPagerAdapter

4

3 回答 3

0

Fragment 中也可以有一个 ListView。

FragmentActivity 是一些支持类,以支持旧设备上的片段,我认为它的 pre api 11。

要在 Fragment 中使用 ListView,只需在 Fragment 中创建一个 ListView,或者使用其中的 ListView 膨胀一个 xml 文件。

于 2013-10-20T22:48:07.817 回答
0

FragmentPagerAdapter getItem() 方法需要返回一个 Fragment。FragmentActivity 不是 Fragment,它是一个包含 Fragment 的 Activity。见这里:http: //developer.android.com/reference/android/support/v4/app/FragmentPagerAdapter.html

将 ListFragment 用于具有 ListView http://developer.android.com/reference/android/support/v4/app/ListFragment.html的片段

于 2013-10-20T22:48:19.233 回答
0

您的片段不需要是 FragmentActivity 来保存 ListView,实际上 Activity 应该扩展 FragmentActivity,并且您的片段应该扩展ListFragment,即:

通过绑定到数据源(如数组或游标)来显示项目列表的片段,并在用户选择项目时公开事件处理程序。

我发表了一篇关于它的文章,解释了片段如何工作,如何在片段中实现 ListView 以及如何将片段与 ViewPager 集成。这是链接,希望对你有帮助。

于 2013-10-21T00:58:25.990 回答