我有一个通用的
MyActivity extends AppCompatActivity
我没有使用自定义xml定义的工具栏覆盖工具栏,只需使用生成的Android提供的工具栏。
我可以通过您的正常
设置标题 getSupportActionBar().setTitle("foo");
但是通过
设置字幕 getSupportActionBar().setSubtitle("bar");
没有设置它。它仍然是空白的。我这样做onCreate()
(我觉得我之前做过很多次没有失败过)
虽然我注意到如果我访问另一项活动,然后返回,则字幕会显示...不会改变方向,而不是recreate()
,但只有当我从活性。
我在5.0和7.0上遇到过这个问题
暂时我可能会定义自己的Toolbar
并向前推进,因为这似乎是大多数人都能解决同一问题的方法。
相关代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_replenishment_list);
ButterKnife.bind(this);
MyApplication.getInstance().getComponent().inject(this);
setupUI();
}
private void setupUI() {
setupActionBar();
}
private void setupActionBar() {
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
//TODO: not working unless activity is recreated...
// explore custom xml defined toolbar
//actionBar.setTitle("different title than what is defined in manifest"); <-- this does work, but not this
actionBar.setSubtitle(UserUtil.getFormattedFirstNameLastName(userService.getUserFromJWT(), this));
}
}
答案 0 :(得分:1)
我已将以下代码放在stickyTracking
方法中。
tooltip.snap
结果是tooltip: {
snap: 1
}
。当我首先添加工具栏时,它可以正常工作。
onCreate()
如果您没有为其设置工具栏,则ActionBar actionBar = getActionBar();
if (actionBar==null) {
System.out.println("TEST NULL");
} else {
System.out.println("TEST NOT NULL");
}
或null
将返回Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar actionBar = getActionBar();
actionBar.setSubtitle("TESTING");
。在使用getSupportActionBar
或getActionBar
。