当我试图抛出这个错误面临的时候。使用java Null指针异常
我在这行actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
的行中得到NullPointerExceptionTabAdapter = new TabPagerAdapter(getSupportFragmentManager());
Tab = (ViewPager) findViewById(R.id.pager);
Tab.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar = getActionBar();
actionBar.setSelectedNavigationItem(position);
}
});
Tab.setAdapter(TabAdapter);
actionBar = getActionBar();
// Enable Tabs on Action Bar
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.TabListener tabListener = new ActionBar.TabListener() {
@Override
public void onTabReselected(android.app.ActionBar.Tab tab,
FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
Tab.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(android.app.ActionBar.Tab tab,
FragmentTransaction ft) {
// TODO Auto-generated method stub
}
};
// Add New Tab
actionBar.addTab(actionBar.newTab().setText("Android").setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("iOS").setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("Windows").setTabListener(tabListener));
}
答案 0 :(得分:0)
我认为您正在使用没有ActionBar的主题。正如您在文档here中看到的那样,当您的Activity没有ActionBar时,它会返回null。检查您的AndroidManifest并使用ActionBar主题。
答案 1 :(得分:0)
您的活动是否有操作栏?正如getActionBar()的文档说它返回The Activity's ActionBar, or null if it does not have one.
答案 2 :(得分:0)
通过ActionBarActivity扩展您的活动。
public class MainActivity extends ActionBarActivity{
private android.support.v7.app.ActionBar actionBar;
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
setContentView(R.layout.activity_main);
actionBar = getSupportActionBar();
}
替换你的 actionBar = getActionBar(); 同 actionBar = getSupportActionBar(); 并始终使用此代码获取操作栏。 现在它不会给出错误。享受