我有一个 ListView,它已被构建、设置样式并具有一个适配器集,代码来自两种设备通用的代码。
奇怪的是,在我的手机 (2.3.4) 上只有文本是可点击的。在平板电脑 (3.1) 上,整个 ListView 项目都是可点击的。在平板电脑上,文本也是右对齐的。
唯一的区别是,在平板电脑上,ListView 的 LayoutParams 宽度以编程方式设置为“240dp”。
到目前为止,我还没有向来自适配器(SimpleCursorAdapater)的 View 或 ListView 本身添加任何监听器。
有人遇到过这个吗?
最佳答案
此时准备结束这一切,
我最终在调查中偶然发现了解决方案:
我更改了管理 ListView
的 XML - 它被设置为 "wrap_content"
(所以 ListView
的宽度是列表中最大的元素)。我改为将它的宽度设置为 "match_parent"
以跨越它的容器。
显然 ListView
设置为 "match_parent
"的每个项目都将继承其父项的初始属性,而不是当前属性(至少在宽度/高度)。如果你问我,那是不符合直觉的逻辑。
关于android - ListView onItemClick 区域在手机和平板电脑上不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7553813/