Android 在getActionBar方法中获取空指针异常
我在操作栏上使用了菜单项。但是当在oncreate方法中获取它时,它给了我null指针异常。请帮忙 谢谢 下面是oncreate方法代码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
// 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);
...
}