我有一个显示项目的GrIDVIEw,每个项目都是一个ListVIEw.
问题是我无法滚动ListVIEw项,似乎GrIDVIEw正在获取焦点或阻止它从ListVIEws
有没有解决方法?
谢谢
**
EDIT:
**
这是我的活动布局
<GrIDVIEw androID:ID="@+ID/grID" androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent" androID:verticalSpacing="35dp" androID:horizontalSpacing="10dp" androID:numColumns="auto_fit" androID:columnWIDth="300dp" androID:stretchMode="columnWIDth" /></linearLayout>
每个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>
解决方法:
在可滚动的父视图中不能有可滚动的子视图. Google不推荐使用它,而且确实很乱. Read this
有些人一直在尝试解决方法(看起来并不漂亮),但是我怀疑它是否对您有用.但是您仍然可以阅读它,看看是否可以使它适合您. Enjoy.
它无法正常工作的主要原因之一是可滚动视图处理触摸的方式.有一个名为dispatchtouchEvent()和onIntercepttouchEvent()的方法,该方法决定是拦截触摸事件还是将其传递给它的孩子.对于可滚动视图,它们将始终拦截“滑动”运动.因此,它将永远不会交给您的孩子.
您可以尝试对其进行修改,但是如果您考虑一下,您怎么知道是要滚动父级还是要滚动子级?想象一下,如果您的可滚动子项中的一个最终占据了屏幕的宽度,但是随后您想滚动父级,您将如何处理呢?
摘要:
不建议使用….如果您真的坚持…,请继续编写自己的自定义视图以处理逻辑.但我保证您不会很漂亮,并且几乎在所有用例中都无法使用.
以上是内存溢出为你收集整理的android-ListView内GridView不滚动吗?全部内容,希望文章能够帮你解决android-ListView内GridView不滚动吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)