android - ListView onItemClick 区域在手机和平​​板电脑上不同

标签 android listview android-layout

我有一个 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/

相关文章:

java - 我怎样才能创建一个有数字的圈子?

java - 将已压缩的文件插入 zip 文件中

qt - 在QML ListView中的元素之间需要页边距

android - 两侧的滑动菜单带有两个单独的列表

android - 复合 View 无法在编辑模式下在 Eclipse 中呈现

java - 由于将 minSdkVersion 从 21 更改为 14 导致错误

android - 更新标题文本后 NavigationView 标题中的重复值

wpf - WPF:扩展ListView的GridView的最后一列

Android布局忽略重力属性

java - 如何获取单击 View 的同级 View ?