[英]Adding tabs to action bar
為什么這段代碼崩潰我完全按照Google的指南執行此操作,但是我在行上卻得到了空指針異常
final ActionBar actionBar = getActionBar();
這是完整的代碼。 我正是按照已鏈接到此處http://developer.android.com/training/implementing-navigation/lateral.html的 Google開發人員頁面進行此操作
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
setContentView(R.layout.pager_view);
//TabSetup
tabPagerAdapter = new TabPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(tabPagerAdapter);
mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
getActionBar().setSelectedNavigationItem(position);
}
});
final ActionBar actionBar = getActionBar();
assert actionBar != null;
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.TabListener tabListener = new ActionBar.TabListener() {
@Override
public void onTabSelected(ActionBar.Tab tab, android.app.FragmentTransaction ft) {
mViewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(ActionBar.Tab tab, android.app.FragmentTransaction ft) {
}
@Override
public void onTabReselected(ActionBar.Tab tab, android.app.FragmentTransaction ft) {
}
};
//ADD THE APP'S 3 TABS
actionBar.addTab(actionBar.newTab().setText("News").setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("Surveys").setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("Connect").setTabListener(tabListener));
}
請注意,Android 5.0不推薦使用操作欄選項卡。
除此之外,您可能正在使用沒有本機操作欄的主題,例如Theme.AppCompat
。 如果將appcompat-v7
與Theme.AppCompat
一起Theme.AppCompat
,請確保從ActionBarActivity
繼承,然后使用getSupportActionBar()
而不是getActionBar()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.