2012-12-19 97 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檔案庫並不是最新版本的最新版本。幸運的是,似乎沒有任何兼容性問題。

相關問題