[英]Why doesn't my TabListener work?
我想为我的应用实现标签和标签侦听器。
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab tabA = actionBar.newTab();
tabA.setText("Tab A");
tabA.setTabListener(new TabListener<Tab1>(this, "Tag A", Tab1.class));
actionBar.addTab(tabA);
Tab tabB = actionBar.newTab();
tabB.setText("Tab B");
tabB.setTabListener(new TabListener<Tab2>(this, "Tag B", Tab2.class));
actionBar.addTab(tabB);
Tab tabC = actionBar.newTab();
tabC.setText("Tab C");
tabC.setTabListener(new TabListener<Tab3>(this, "Tag C", Tab3.class));
actionBar.addTab(tabC);
if (savedInstanceState != null) {
int savedIndex = savedInstanceState.getInt("SAVED_INDEX");
getActionBar().setSelectedNavigationItem(savedIndex);
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
outState.putInt("SAVED_INDEX", getActionBar().getSelectedNavigationIndex());
}
}
但是我从这一行得到一个NullPointerException:
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
有人可以告诉我为什么以及怎么做吗?
如果需要,我将添加其他类和StackTrace。
getActionBar()
返回null。 如果您应用了非操作栏主题,请检查清单。 如果是这样,请更改主题,以使活动具有活动栏。
公共ActionBar getActionBar()
API级别11中已添加。检索对该活动的ActionBar的引用。
返回活动的ActionBar;如果没有,则返回null
您正在使用哪个主题? 检查主题是否为清单中的Theme.NoTitleBar。 如果是这样,请将其更改为Theme.Holo。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.