如何从Android中的Activity访问默认工具栏?

时间:2018-04-10 19:23:01

标签: java android android-activity kotlin toolbar

我正在尝试从内部和Activity的 onCreateOptionsMenu 功能访问默认ToolBar以更改“溢出”菜单图标(三个点图标)。我想使用此类提供的 setOverflowIcon 方法。

我已阅读官方文档,StackOverflow和其他网站上的帖子,但一切都失败了。

我尝试过例如工具栏工具栏=(工具栏)findViewById(R.id.toolbar); 但是我收到的错误是 R.id.toolbar 没有不存在。

4 个答案:

答案 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);
}