9

晚上好。我有android:minSdkVersion="14" android:targetSdkVersion="16"

我在 onCreate 方法中有一个 NullPointerException:

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

    mCollectionPagerAdapter = new CollectionPagerAdapter(
            getSupportFragmentManager());

    final ActionBar actionBar = getActionBar();

    //Here is the error
    actionBar.setHomeButtonEnabled(false);

    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    mViewPager = (ViewPager) findViewById(R.id.pager);
    mViewPager.setAdapter(mCollectionPagerAdapter);
    mViewPager.setOnPageChangeListener(
            new ViewPager.SimpleOnPageChangeListener() {
                @Override
                public void onPageSelected(int position) {
                    actionBar.setSelectedNavigationItem(position);
                }
            });

        for (int i = 0; i < mCollectionPagerAdapter.getCount(); i++) {
            actionBar.addTab(actionBar.newTab()
                    .setText(mCollectionPagerAdapter.getPageTitle(i))
                    .setTabListener(this));
        }

}

我在其他项目中有一个类似的代码,它工作正常。两个项目中的库版本也相似。什么可能导致此异常,我可以更改什么?

谢谢。

4

4 回答 4

17

在您的清单中确保您的活动具有(类似的):

<activity android:theme="@android:style/Theme.Holo">
于 2013-03-28T14:06:26.817 回答
4

您的错误是由该getActionBar()方法引起的。

检查此链接:

getActionBar() 返回 null

于 2013-03-28T14:07:08.880 回答
2

删除清单文件中的 android:theme="@style/AppTheme"

于 2016-04-20T17:38:42.127 回答
0

对 AndroidManifest 文件进行以下更改对我有用

 @android:style/Theme.Holo.Light.DarkActionBar
于 2016-11-23T17:42:26.293 回答