Java 如何获取包含网格视图的整个列表项的单击事件?

Java 如何获取包含网格视图的整个列表项的单击事件?,java,android,Java,Android,我创建了一个listview,其中包含一个textview和一个grid视图。网格视图项包含textview。如下所示: Listview --------------------------- Item 1 [grid item 1] [grid item 2] --------------------------- Item 2 [grid item 1] [grid item 2] [grid item 3] [grid item 4] --------------------------

我创建了一个listview,其中包含一个textview和一个grid视图。网格视图项包含textview。如下所示:

Listview
---------------------------
Item 1
[grid item 1] [grid item 2]
---------------------------
Item 2
[grid item 1] [grid item 2]
[grid item 3] [grid item 4]
---------------------------
我已通过gridView.setEnabled(false)禁用了网格视图项的单击事件;我希望使用onClickListener()单击整个列表项。我可以从列表项的部分区域获取单击事件。但是,我无法从网格视图区域获取单击事件

我已经经历了几个线程,但无法解决所述问题

我试过:

  • 在gridview项的最顶层视图组中使用android:DegenantFocusability=“BlocksDescents”
  • 在包含gridview的视图组中使用android:DegenantFocusability=“BlocksDescents”
  • 在包含gridview的视图组中使用android:focusableInTouchMode=“true”android:focusableInTouchMode=“true”

  • 我还尝试了不同线程的其他方法,但无法解决问题。

    如果要检测视图对象上的点击,可能需要在XML中设置android:clickable=“true”


    解决方案:如果其中一个子项的focusable或clickable属性为true,则父项将无法获得该子项区域的焦点或click事件

    我通过对gridview应用以下方法解决了此问题:

        gridView.setEnabled(false);
        gridView.setClickable(false);
        gridView.setFocusable(false);
    

    Gridview从父listview窃取click事件的焦点。使gridview项可单击为true不起作用。