尝试使用FragmentActivity时出现片段错误

时间:2013-10-20 22:27:38

标签: android android-fragments

所以我正在尝试在我的应用中创建一个滑动标签视图。但我遇到的问题是我的片段需要是FragmentActivity,因为他们里面有listview。

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

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

3 个答案:

答案 0 :(得分:0)

片段中也可以包含ListView。

FragmentActivity是一些支持Class,支持旧设备上的Fragments,我认为它是pre api 11。

要在片段中使用ListView,只需在片段中创建一个ListView,或者在其中放入一个带有ListView的xml文件。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

你的片段不需要是FragmentActivity来保存ListView,实际上Activity应该扩展FragmentActivity,你的片段应该扩展ListFragment,这是:

  

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

我发了一篇关于它的文章,解释了片段是如何工作的,如何在片段中实现ListView以及如何将片段与ViewPager集成。 Here is the link,希望它有所帮助。