在用include标签引用重复的Toolbar时,报错Attempt to invoke virtual method
最后发现,问题出在当include里给了ID时,不能通过控件ID获得toolbar.xml中的控件
<include
android:id="@+id/register_include"
layout="@layout/toolbar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
这时候要获得layout中的控件时需要先获得layout布局文件,从布局文件中获得控件
View layout = getLayoutInflater().inflate(R.layout.toolbar,null);
Toolbar toolbar = layout.findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
toolbar.setNavigationOnClickListener(v -> onBackPressed());