2012-12-19 98 views
0

我正在尝试编写一个自定义FragmentPagerAdapter类,用于ViewPager和ActionBarSherlock。我想覆盖getItemId()方法,因为我有不同的选项卡,可以根据应用程序的状态来来去去。但在android-support-v4.jar(我使用ActionBarSherlock 4.1.0)中包含的FragmentPagerAdapter实现中不存在getItemId()方法。我下载了4.2.0,但它似乎有一个相同的android-support-v4.jar。FragmentPagerAdapter.getItemId()似乎缺少

从我的诉说,getItemId()加入到Android支持库5月10

是有办法解决这一问题?

- 编辑 -

也许Android文档与支持库不同步?

这里的)链接到文档,上面写着V4支持库有getItemId(:http://developer.android.com/reference/android/support/v4/app/FragmentPagerAdapter.html#getItemId(int

但我刚刚下载了最新的Android支持,v4.jar从Android SDK管理器(Android的支持库版本11)。该jar与ABS不同,但它似乎仍不包含getItemId()方法。

添加getItemId()的更改似乎已进入v13库,而不是?见https://android.googlesource.com/platform/frameworks/support/+/1a1c2acbc15f8bc9dba05d09dcb18e340474e1c6%5E!/

下面是从我的项目的一些代码:

import android.support.v4.app.FragmentPagerAdapter; 
import com.actionbarsherlock.app.ActionBar; 

public class TabsAdapter extends FragmentPagerAdapter implements 
     ActionBar.TabListener, ViewPager.OnPageChangeListener 
{ 
    ... 
    // This fails to compile: 
    // The method getItemId(int) of type TabsAdapter must override or implement a supertype method 
    @Override 
    public long getItemId(int position) { 
     return 0; // TODO 
    } 
} 
+1

我们可以看到你正在做的事情的代码片段吗?特别是类声明和'getItemId()',因为你试图覆盖它?我刚刚使用最新的v4支持库查看了我的一个FragmentPagerAdapter,我确实看到了它。 – jprofitt

+0

添加了代码片段。谢谢你的帮助! – jfritz42

+1

这看起来像相同的代码,将为我工作。什么是你的V4库的文件大小? – jprofitt

回答

0

的解决方案是覆盖在ActionBarSherlock库我从Android SDK管理器下载了JAR Android的支持 - v4.jar(支持Android库修订版11)。我猜ABS档案库并不是最新版本的最新版本。幸运的是,似乎没有任何兼容性问题。

相关问题