第31行setSupportActionBar(toolbar)报错,该如何解决?
解决Cannot resolve symbol 'toolbar'报错问题
从截图看,报错是Cannot resolve symbol 'toolbar',核心原因是代码里引用的toolbar变量没有被正确声明和初始化,按以下步骤修复:
- 第一步:确认布局文件中存在id为
toolbar的Toolbar控件,示例布局代码:
<androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary"/>
- 第二步:在Activity的
onCreate方法中,先加载布局,再初始化toolbar变量,最后设置为ActionBar:
// 先加载当前Activity的布局,这一步必须在findViewById之前 setContentView(R.layout.你的布局文件名); // 初始化Toolbar实例 Toolbar toolbar = findViewById(R.id.toolbar); // 设置为支持的ActionBar setSupportActionBar(toolbar);
- 关键注意点:
setSupportActionBar()的参数必须是Toolbar对象,不能直接传R.id.toolbar(这是int类型的id值,方法不接受),所以必须先通过findViewById获取控件实例。
如果你用Kotlin开发,可通过以下方式初始化:
setContentView(R.layout.你的布局文件名) val toolbar = findViewById<Toolbar>(R.id.toolbar) setSupportActionBar(toolbar)
内容的提问来源于stack exchange,提问作者Vaibhav Paliwal
相关产品推荐
相关产品推荐

