Android getActivity() 未定义

标签 android

我的类(class) MainActivity 有错误。

错误: 方法getActivity()未定义为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;
    }
}

最佳答案

这是因为您在内部类中使用 getActivity()。尝试使用:

SherlockFragmentActivity.this.getActivity()

相反,虽然确实不需要 getActivity() 部分。在你的情况下, SherlockFragmentActivity .this 应该足够了。

关于Android getActivity() 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14705973/

相关文章:

Android AES 加密 192 位 key

android - 元素的内容必须包含格式正确的字符数据或标记。 AndroidManifest.xml

android - 在 android 中播放 youtube url

android - 从其他应用打开 Twitter 应用中的页面 - Android

android - 如何在不每隔几秒同步一次的情况下启用同步

android - 在 Android React Native 应用程序中正确使用 Intl

android - BroadcastReceiver 和 ACTION_BOND_STATE_CHANGED 在 Android 9.0 中部分工作

android - 通过 Google Beta 测试管理指向登台服务器和生产的 APK

Android Studio 本地路径不存在

android - SeekBar - 使用上面的 TextView 显示进度