Родитель знает, если внутренний дочерний элемент обрабатывает щелчок - PullRequest
0 голосов
/ 15 февраля 2019

Моему родительскому представлению нужно знать, обрабатывается ли одно из его внутренних представлений или нет событие щелчка.Элементы, которые обрабатывают события щелчка, находятся внутри горизонтали recyclerview (на экране виден только один элемент за раз).

Это макет, который у меня есть

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/parentViewThatNeedToknowIfClickHasHappened"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white">

    <android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    .... More views

        <android.support.v4.widget.NestedScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/viewThatHasItemsThatReceiveClicks
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"/>

                ....More Views
            </FrameLayout>
        </android.support.v4.widget.NestedScrollView>

    </android.support.design.widget.CoordinatorLayout>

.... more views

</FrameLayout>

recyclerview элемент имеет много просмотров, и к некоторым из них прикреплены прослушиватели кликов.При нажатии на один из этих элементов, всплывающее окно становится видимым.Когда всплывающее окно становится видимым, и я касаюсь одного из других представлений, которые обрабатывают щелчки, содержимое всплывающего окна обновляется.

В моем родительском представлении (parentViewThatNeedToknowIfClickHasHappened) мне нужно добиться следующего:

  • Ничего не делать, если всплывающее окно не отображается;
  • Если всплывающее окно показывает:
    • Отключить всплывающее окно, если ни один из элементов в viewThatHasItemsThatReceiveClicks, который может получать щелчки, не будет нажат.
    • Ничего не делать, если естьиз элементов в viewThatHasItemsThatReceiveClicks, которые могут получать клики, будут нажиматься.

В моем parentViewThatNeedToknowIfClickHasHappened я переопределил onInterceptTouchEvent, но я не смогприйти к какому-либо заключению, то есть зная, что произойдет в предметах recyclerview.

Есть идеи, как мне добиться того, что я притворяюсь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...