0

およびActionBarSherlockFragmentPagerAdapterで使用するカスタムクラスを作成しようとしています。アプリの状態に応じて出入りできるタブが異なるためViewPager、メソッドをオーバーライドしたいと思います。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

解決策は、ActionBarSherlockライブラリのandroid-support-v4.jarを、Android SDK Manager(Android Support Library Rev 11)からダウンロードしたJARで上書きすることでした。ABSライブラリは、最新のリリースでは最新ではないと思います。幸い、互換性の問題はないようです。

于 2012-12-20T19:49:07.550 に答える