我有三DrawerLayout
对三Activity
。这些活动大多是相同的(布局是复制过去)。我们称它们为activity 1
, activity 2
, activity 3
。activity 1
可以开始activity 2
,activity 2
可以开始activity 3
。
此外,我还有我的自定义基础活动:SideMenuActivity
.
它们都是延伸的SideMenuActivity
。
有一个打开导航抽屉的按钮,其onClickListener
位于SideMenuActivity
:
protected void initSideMenu() {
sideMenuButton = findViewById(R.id.side_menu_icon_clickable);
sideMenu = findViewById(R.id.side_menu);
sideMenu.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
.
.
.
sideMenuButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sideMenuButton.startAnimation(buttonClick);
sideMenu.openDrawer(Gravity.LEFT);
Toast.makeText(context, context.getClass().getSimpleName(), Toast.LENGTH_SHORT).show();
}
});
}
我从“活动 1”activity 2
和activity 3
. 导航抽屉可以在 中打开activity 1
,activity 2
但不能在activity 3
.
为什么这onClickListener
在activity 3
. android有错误还是什么?
此外,与其他消息不同,吐司消息也不会出现activity 3
。
这是DrawerLayout
:
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/side_menu"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/menucontent" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/appMainBackground"
tools:context=".xxx.xxx.xxx">
<include
android:id="@+id/include2"
layout="@layout/topbar"
app:layout_constraintBottom_toTopOf="@+id/guideline17"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline17"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.1184" />
.
.
.
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.drawerlayout.widget.DrawerLayout>