我正在尝试从内部和Activity的 onCreateOptionsMenu 功能访问默认ToolBar以更改“溢出”菜单图标(三个点图标)。我想使用此类提供的 setOverflowIcon 方法。
我已阅读官方文档,StackOverflow和其他网站上的帖子,但一切都失败了。
我尝试过例如工具栏工具栏=(工具栏)findViewById(R.id.toolbar); 但是我收到的错误是 R.id.toolbar 没有不存在。
答案 0 :(得分:2)
如果您使用AppcompatActivity
,则应使用SupportActionBar
,如下所示:
supportActionBar?.title = "My Activity title"
这段代码:Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
仅在您Toolbar
中添加toolbar
xml
个ID时才有效。即使你这样做了,你也应该setSupportActionBar(yourToolBar)
做任何事情。然后直接使用supportActionBar
。
答案 1 :(得分:0)
您可以从AppCompatActivity
获取默认工具栏getSupportActionBar();
答案 2 :(得分:0)
执行工具栏工具栏=(工具栏)findViewById(R.id.toolbar)预计无法正常工作,因为ID未明确存在。每个activity-Java类都扩展了Activity(或它的直接或间接子类),你可以用它来获取动作栏(可以这么说)。
如果你的java文件扩展了AppCompatActivity,你可以使用getSupportActionBar()
来召唤ActionBar。
扩展Activity的Java文件需要getActionBar()
来召唤工具栏。
此后,您可以执行更改显示的文本/标题,背景可绘制等操作。
要了解有关获取操作栏的详情,请查看this link。
答案 3 :(得分:-2)
使用xml创建菜单文件并将其放在res / menu文件夹中
onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.your_menu, menu);
}