如何防止BlackView中的ListView项目突出显示

Nav*_*arr 6 android android-layout android-listview

我一直在拼命地解决这个问题,我的ListView项目突出显示.我已经回顾了我在stackoverflow上可以找到的任何解决方案,并且发现没有一个对我有用.

首先,这是LinearLayout中ViewPager中LinearLayout中的ListView.

Listview中的每个Item都是包含LinearLayout(包含TextView)和Gallery的LinearLayout.图库包含多个LinearLayouts,其中包含FrameLayout中的TextView和Imageview.

出现此问题,不是在点击时,而是在拖动时,如在手指滑过故事时(有时在ListView滚动时拖动),下面的项目将被选中.此外,此特定问题仅发生在滚动效果不会导致滚动时反弹的设备上.

试图解决这个问题的方法如下:

  • 将列表选择器设置为XML中的背景颜色(失败)
  • 将列表选择设置为XML#00000000(失败)
  • 以上但编程
  • 以上但主题
  • 将选择设置为-1 onListItemClick的代码
  • 从列表项的LinearLayout中删除背景(Works on 4.0)
  • 设置android:cacheColorHint#00000000(什么都没做?)

任何帮助,将不胜感激.我只是想不通为什么它这样做,我真的需要它停下来.

ListView项目被高亮显示的屏幕截图

Nav*_*arr 8

这是一个最有趣的问题.解决方案更有趣.

出于某种原因,我没有尝试过,也没有人想到的是android:backgroundLinearLayoutListView项目中删除.

移除后android:background,布局继续正确显示,黑色不再出现.

如果您遇到类似的问题而无法解决问题,您可能需要查看Android博客:为什么我的列表会变黑?

编辑:这对ICS来说很好,但在2.1中引发了一个更大的问题.为了彻底解决了考验,我最后不得不指定android:cacheColorHint="#000000"ListView(和LinearLayout良好的措施)在我的内嵌样式以及在样式定义我申请到ListView.

  • 事实上,缓存颜色提示必须设置为"#00000000",而不是"#000000" (4认同)