9

フラグメントごとに異なるレイアウトをロードし、各ページに異なる機能を提供できるように、viewpager とフラグメントを使用してスライドスクリーンを作成しようとしています。

これを達成するためにチュートリアルに従いました。

カーソルを合わせたときに発生するエラーpublic Fragment getItem(int arg0): The return type is incompatible withFragmentPagerAdapter.getItem(int)

およびエラー #2: コンストラクターFragmentPagerAdapter(FragmentManager)が未定義です --> ホバリング時にこれを取得しますsuper(fm);

package com.example.spui;

import android.os.Bundle;
import android.app.Fragment;
import android.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

public class MyFragmentPagerAdapter extends FragmentPagerAdapter{

    final int PAGE_COUNT = 5;

    /** Constructor of the class */
    public MyFragmentPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    /** This method will be invoked when a page is requested to create */
    @Override
    public Fragment getItem(int arg0) {

        MyFragment myFragment = new MyFragment();
        Bundle data = new Bundle();
        data.putInt("current_page", arg0+1);
        myFragment.setArguments(data);
        return myFragment;
    }

    /** Returns the number of pages */
    @Override
    public int getCount() {
        return PAGE_COUNT;
    }
}
4

1 に答える 1

30

間違ったFragmentManagerインポートを使用しています。android.support.v4.app.FragmentManager代わりに使用してください。

同じ問題Fragment- 使用android.support.v4.app.Fragment

注: API11+ のみのアプリケーションを構築していて、ネイティブ Fragments を使用したい場合は、代わりにFragmentPagerAdapterインポートをに変更する必要がありますandroid.support.v13.app.FragmentPagerAdapter

于 2013-03-14T16:16:20.683 に答える