0

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

据我所知,getItemId() 已于 5 月 10 日添加到 Android 支持库中。

有没有办法来解决这个问题?

- 编辑 -

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

以下是说明 v4 支持库具有 getItemId() 的文档的链接:http: //developer.android.com/reference/android/support/v4/app/FragmentPagerAdapter.html#getItemId (int )

但我刚刚从 Android SDK Manager (Android Support Library Rev 11) 下载了最新的 android-support-v4.jar。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
    }
}
4

1 回答 1

0

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

于 2012-12-20T19:49:07.550 回答