3

フラグメントを使用してスワイプ ビューを実装しようとしています。しかし、フラグメント アクティビティではなく単純なアクティビティを拡張することは、私にとって非常に重要です。以下に記述されたコードの getSupportFragmentManager() でエラーが発生しています。

public class CollectionDemoActivity extends Activity {

DemoCollectionPagerAdapter mDemoCollectionPagerAdapter;

ViewPager mViewPager;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_collection_demo);


    mDemoCollectionPagerAdapter = new DemoCollectionPagerAdapter(getSupportFragmentManager());

    mViewPager = (ViewPager) findViewById(R.id.pager);
    mViewPager.setAdapter(mDemoCollectionPagerAdapter);
}

public static class DemoCollectionPagerAdapter extends FragmentStatePagerAdapter {

    public DemoCollectionPagerAdapter(FragmentManager fm) {
        super(fm);
        //int x=10;
    }

    @Override
    public Fragment getItem(int i) {
        Fragment fragment = new DemoObjectFragment();
        Bundle args = new Bundle();
        args.putInt(DemoObjectFragment.ARG_OBJECT, i + 10); 
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public int getCount() {
        // For this contrived example, we have a 100-object collection.
        return 100;
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return "OBJECT " + (position + 1);
    }
}


public static class DemoObjectFragment extends Fragment {

    public static final String ARG_OBJECT = "object";

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_collection_object, container, false);
        Bundle args = getArguments();
        ((TextView) rootView.findViewById(android.R.id.text1)).setText(
                Integer.toString(args.getInt(ARG_OBJECT)));
        return rootView;
    }
}
}
4

1 に答える 1

5

エラーは一目瞭然です。FragmentActivityクラスgetSupportFragmentManager()に対してのみ定義されています。そのメソッドをどれだけ呼び出したい、または呼び出す必要があるとしても、単純なアクティビティには存在しません。

参照: Activity と FragmentActivity違いおよび Fragment と FragmentActivity の違い

于 2013-04-12T21:11:52.880 に答える