4

私はこのエラーに苦しんでおり、本当に正しく理解できません。android.support.v13.app.FragmentActivity; をインポートしようとしています。クラスに入れますが、エラーが発生します:インポート android.support.v13.app.FragmentActivity を解決できません。libs フォルダーに v13 と v4 の両方があることに言及したいと思います。Clean、Android Support Library および Fix Project Properties を使用しました。それが重要な場合、ターゲット デバイスは 2.3.3 です。ありがとうございました。誰かが私を助けてくれることを本当に願っています。編集: v4 を編集した後、多くのエラーが消え、あと 2 つしかありません。私はAndroidの初心者なので、ここで何が間違っているのか説明していただければ:

private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
    public ScreenSlidePagerAdapter(FragmentManager fm) {
        super(fm); //Error: The constructor Fragmentstagepageadapter(FragmentManager) is undefined
    }

@Override
public **Fragment** getItem(int position) { //And Here: The return type is incompatible
    return ScreenSlidePageFragment.create(position);
}

@Override
public int getCount() {
    return NUM_PAGES;
}

}

4

2 に答える 2

2

これは、非常によく似た質問に対して私が与えた答えです。

「android.support.v13.app.FragmentActivity のインポート」を「android.support.v4.app.FragmentActivity のインポート」に変更します。

未定義の部分については、次の構文を試してください。

public class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter (android.support.v4.app.FragmentManager fm) {
    super(fm);
}

と:

@Override
public android.support.v4.app.Fragment getItem(int position) {
    return ScreenSlidePagerAdapter.create(position);
}
于 2013-01-02T20:15:31.863 に答える
2

FragmentActivity は v4 フォルダの一部ですが、そうですか? v13 は、API 13 以降がそのフォルダー内のクラスを使用することを意味します。したがって、そのフォルダーがあるかもしれませんが、FragmentActivity が含まれていないに違いありません:) v13 ではなく v4 を持つようにインポートを変更します。

http://developer.android.com/reference/android/support/v4/app/FragmentActivity.html

したがって、SupportLib を使用している場合、OS から Fragment を使用できないことがわかります。SupportLib 内の Fragment クラスのみを使用する必要があります。これには Fragment 自体が含まれます。

http://developer.android.com/reference/android/support/v4/app/Fragment.html vs http://developer.android.com/reference/android/app/Fragment.html ..基本的にAndroid内のすべてフラグメントに関係する .app は、SupportLib クラスでは使用できません。それらは同じクラス階層ではなく、互換性もありません。

于 2013-01-01T22:36:07.720 に答える