Почему три одинаковых действия ведут себя по-разному для одной и той же функции? - PullRequest
0 голосов
/ 05 апреля 2020

у меня три 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...