【发布时间】:2014-07-09 22:31:00
【问题描述】:
在主要活动中我有这个代码
actionBar = getActionBar();
actionBar.setTitle("Title");
它有效。
然后在第一个活动调用的另一个活动中,我显示了相同的操作栏,当我调用 getActionBar() 更改标题时,它总是返回 null,为什么?
这是在调用 setTitle 时崩溃的活动,因为 actionbar 为空
public class SearchResultsActivity extends Activity {
protected GridView grid;
protected TextView categoryTitle;
protected int theme;
private AQuery aq;
private String strSearchString;
private ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_results);
setTheme(android.R.style.Theme_Holo);
setContentView(Themes.getGridLayout(theme));
aq = new AQuery(this);
actionBar=getActionBar();
actionBar.setTitle("new title"); // <- Here it crashes because actionbar is null
grid = (GridView) findViewById(R.id.grid);
grid.setOnItemClickListener(gridItemListener);
init();
handleIntent(getIntent());
}
操作栏的菜单在所有活动上都没有问题
【问题讨论】:
-
您确定 a) 新活动不是对话活动,并且 b) 您使用的是正确的操作栏而不是 sherlock 或支持者吗?
-
是activity,actionbar是android内置的,不是v4的支持
-
请发布返回 null 的活动。
-
你遇到了什么错误..? api版本..?
-
API 19 这是错误 FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp.SearchResultsActivity}: java.lang.NullPointerException
标签: android android-activity android-actionbar