0

我有一个cardviews的回收器视图,其中每个cardview包含一个textview和一个listview。我希望整个cardview是一个可点击的项目。目前,如果我点击cardview的textview部分,它的工作,但点击列表部分什么都不做。该列表视图似乎是从父卡片视图窃取焦点。使整个卡片视图可点击

+0

[Android-L CardView可视化触控反馈]可能的重复(http://stackoverflow.com/questions/24475150/android-l-cardview-visual-touch-feedback) –

+0

我已经包括了什么答案有建议。我看到的cardview是可点击的,只是listview似乎是偷窃焦点,并使cardview的部分不可点击 – DANGERZONE94

回答

0

只是一个想法,如果更优雅的解决方案无法找到:你可能会尝试覆盖onInterceptTouchEvent()代替cardview,并使用gesture detector侦听拦截的运动事件。如果检测到手势,则返回true,以便MotionEvent被拦截并且不传递给其子代,包括列表视图。

这样cardview可以看到listview之前的点击事件。

+0

工作完美! – DANGERZONE94

0

我想你可以尝试在cardview中定义下面的属性。我不知道它会工作,我不知道为什么在某些情况下,它解决了这个问题对我来说,别人不...

android:descendantFocusability="blocksDescendants" 
+0

我已经尝试过这一点,遗憾的是没有效果。 – DANGERZONE94