Android GridView中的ListView是否不滚动?

Android GridView中的ListView是否不滚动?,android,android-listview,Android,Android Listview,我有一个显示项目的GridView,每个项目都是一个ListView 问题是我无法滚动ListView项,看起来GridView正在获取焦点或阻止它从ListView中移动 有解决办法吗 谢谢 ** 编辑: ** 这是我的活动布局 每个gridview项都具有以下布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res

我有一个显示项目的GridView,每个项目都是一个ListView

问题是我无法滚动ListView项,看起来GridView正在获取焦点或阻止它从ListView中移动

有解决办法吗

谢谢

**

编辑:

** 这是我的活动布局


每个gridview项都具有以下布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
     >

    <ListView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/list"
         />

</LinearLayout>

在列表视图中设置属性
android:scrollingCache=“true”

<ListView android:id="@+id/android:list" 
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:scrollingCache="true"
   android:layout_weight="1" />

在可滚动的父视图中不能有可滚动的子视图。谷歌不推荐它。。。而且真的很乱

有人一直在尝试解决方法(看起来不太好),但我怀疑它是否对你有用。但是你无论如何都可以阅读它,看看你是否能让它为你工作

它不起作用的一个主要原因是可滚动视图处理触摸的方式。有一个名为
dispatchTouchEvent()
onInterceptTouchEvent()
的方法,用于决定是拦截触摸事件还是将其传递给其子级。对于可滚动视图,它们将始终拦截“滑动”移动。所以它永远不会给你的孩子

您可以尝试修改它,但是如果您仔细想想,您如何知道您是在尝试滚动父对象还是在尝试滚动子对象?想象一下,如果你的一个可滚动的孩子最终占据了你屏幕的宽度,但你想滚动你的父母,你将如何管理

总结:
不推荐。。。。如果你真的坚持。。。然后继续编写自己的自定义视图来处理逻辑。但我向你保证,它不会很漂亮,几乎永远不会适用于所有用例。

也不起作用,我相信它与聚焦性问题有关。我相信它对我有用。(在2.2.3 emulator EDK1.2上试用过)你能发布一些代码吗?我最终实现了自己的自定义视图
<ListView android:id="@+id/android:list" 
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:scrollingCache="true"
   android:layout_weight="1" />