我的父视图需要知道其内部视图之一是否被处理为click事件。处理点击事件的项目在水平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
的各项中将会发生什么。
有什么想法可以实现我的假装吗?