у меня три 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>