使整个卡片视图可点击
Making entire cardview clickable
我有一个卡片视图的回收视图,其中每个卡片视图都包含一个文本视图和一个列表视图。我希望整个 cardview 成为一个可点击的项目。目前,如果我点击它工作的 cardview 的 textview 部分,但点击列表部分什么都不做。列表视图似乎正在从父卡片视图中窃取焦点。
我认为您可以尝试在卡片视图中定义以下属性。我不确定它是否会起作用,我不知道为什么在某些情况下它为我解决了问题,而在其他情况下却没有...
android:descendantFocusability="blocksDescendants"
如果找不到更优雅的解决方案,请考虑一下:您可以尝试为 cardview
重写 onInterceptTouchEvent()
并使用 gesture detector 来监听动作上的点击事件被拦截。 Return true
如果检测到手势,则 MotionEvent 会被拦截并且不会传递给其子项,包括列表视图。
这样 cardview
可以在 listview
之前看到点击事件。
我有一个卡片视图的回收视图,其中每个卡片视图都包含一个文本视图和一个列表视图。我希望整个 cardview 成为一个可点击的项目。目前,如果我点击它工作的 cardview 的 textview 部分,但点击列表部分什么都不做。列表视图似乎正在从父卡片视图中窃取焦点。
我认为您可以尝试在卡片视图中定义以下属性。我不确定它是否会起作用,我不知道为什么在某些情况下它为我解决了问题,而在其他情况下却没有...
android:descendantFocusability="blocksDescendants"
如果找不到更优雅的解决方案,请考虑一下:您可以尝试为 cardview
重写 onInterceptTouchEvent()
并使用 gesture detector 来监听动作上的点击事件被拦截。 Return true
如果检测到手势,则 MotionEvent 会被拦截并且不会传递给其子项,包括列表视图。
这样 cardview
可以在 listview
之前看到点击事件。