在使用include实现toolbar的复用的时候,给了include一个ID方便布局,结果不能通过ID找到控件。
解决的办法是,先获得layout布局文件,从布局文件中获得Toolbar控件。
但是当我获得Toolbar控件设置点击事件或者动态设置属性时候无论怎么都无法生效
至今不知道原理,但解决的办法是在include外面套一层layout
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<include layout="@layout/toolbar" />
</LinearLayout>
避免给include附上ID,就可以直接使用toolbar中的属性了
setContentView(R.layout.activity_register);
Toolbar toolbar = findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
toolbar.setNavigationOnClickListener(v -> Log.e("TAG", "onCreate: "));
setTitle("注册");