28

クラスMainActivityにエラーがあります。

エラー: The method getActivity() is undefined for the type MainActivity

public class MainActivity extends SherlockFragmentActivity{
    PlaceSlidesFragmentAdapter mAdapter;
    ViewPager mPager;
    PageIndicator mIndicator;

    public static final String TAG = "detailsFragment";

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.main,
                container, false);

        mAdapter = new PlaceSlidesFragmentAdapter(getActivity()
                .getSupportFragmentManager());

        mPager = (ViewPager) view.findViewById(R.id.pager);
        mPager.setAdapter(mAdapter);

        mIndicator = (CirclePageIndicator) view.findViewById(R.id.indicator);
        mIndicator.setViewPager(mPager);
        ((CirclePageIndicator) mIndicator).setSnap(true);

        mIndicator
                .setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {
                        Toast.makeText(MainActivity.this.getActivity(),
                                "Changed to page " + position,
                                Toast.LENGTH_SHORT).show();
                    }

                    @Override
                    public void onPageScrolled(int position,
                            float positionOffset, int positionOffsetPixels) {
                    }

                    @Override
                    public void onPageScrollStateChanged(int state) {
                    }
                });
        return view;
    }
}
4

4 に答える 4

36

これはgetActivity()、内部クラス内で使用しているためです。使用してみてください:

SherlockFragmentActivity.this.getActivity()

代わりに、その部分は実際には必要ありませんがgetActivity()。あなたの場合、 SherlockFragmentActivity .this十分なはずです。

于 2013-02-05T11:06:04.667 に答える
29

アクティビティを呼び出したい場合は、これを使用してください。フラグメント内にいるときにgetActivityメソッドを使用します。

于 2013-02-05T11:05:47.283 に答える
7

あなたはgetActivity()あなたのクラスの中に欲しいです。使用する方が良いです

yourclassname.this.getActivity()

これを試して。それはあなたに役立ちます。

于 2013-02-05T11:14:20.853 に答える
0

私のアプリケーションでは、以下を使用するだけで十分でした。

myclassname.this

于 2020-07-14T08:45:51.710 に答える