Android 在getActionBar方法中获取空指针异常

Android 在getActionBar方法中获取空指针异常,android,android-activity,Android,Android Activity,我在操作栏上使用了菜单项。但是当在oncreate方法中获取它时,它给了我null指针异常。请帮忙 谢谢 下面是oncreate方法代码 // TODO Auto-generated method stub super.onCreate(paramBundle); setContentView(R.layout.activity_home); final ActionBar localActionBar=getActionBar(); localA

我在操作栏上使用了菜单项。但是当在oncreate方法中获取它时,它给了我null指针异常。请帮忙

谢谢

下面是oncreate方法代码

    // TODO Auto-generated method stub
    super.onCreate(paramBundle);
    setContentView(R.layout.activity_home);


     final ActionBar localActionBar=getActionBar();
     localActionBar.setNavigationMode(2);
     this.mSectionsPagerAdapter = new SectionsPagerAdapter(getFragmentManager());
     this.mViewPager = ((ViewPager)findViewById(R.id.pager));
     this.mViewPager.setAdapter(this.mSectionsPagerAdapter);
        this.mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener()
        {
             public void onPageSelected(int paramAnonymousInt)
             {
               localActionBar.setSelectedNavigationItem(paramAnonymousInt);
             }
           });
        for (int i = 0; i < this.mSectionsPagerAdapter.getCount(); i++) 
        {
            localActionBar.addTab(localActionBar.newTab().setText(this.mSectionsPagerAdapter.getPageTitle(i)).setTabListener(this));
        }

}

如果使用
Theme.AppCompat
,则扩展
ActionBarActivity
。也可以使用
getSupportActionBar()
而不是
getActionBar()
。您可能还需要启用title(但我不确定这是否适用于所有android版本)-因此
requestWindowFeature(Window.FEATURE\u NO\u title)应删除-您的主题中是否有:

<item name="windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
false
真的

很可能。

取决于您的版本(在清单中),您需要使用
getSupportActionBar()
getActionBar()。另外,您是否确定您的
HomeActivity
是从
活动扩展而来的。class

为您的应用程序使用一个主题来提供
AcionBar
,也许您可以包括
appcompact
支持库


您可以查看:

您是否扩展了ActionBarActivity

public class MainActivity extends FragmentActivity implements ActionBar.TabListener{


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    final ActionBar actionBar = getActionBar();
    actionBar.show(); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    ...
}

尝试使用getSupportedActionBar方法。我想您使用的是另一个版本的android

您的活动是否有ActionBar?你在使用其他主题吗?我的活动扩展了ActionBar.TabListener。。。但即使我尝试了ActionBarActivity…但它给了我一个错误它应该扩展ActionBarActivity实现ActionBar.TableListener知道是哪一行导致了崩溃会很有帮助?line->localActionBar.setNavigationMode(2);我更改了上面的答案以扩展FragmentActivity将
getActionBar()
替换为
getSupportActionBar()
是否解决了您的问题?
public class MainActivity extends FragmentActivity implements ActionBar.TabListener{


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    final ActionBar actionBar = getActionBar();
    actionBar.show(); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    ...
}