【问题标题】:listview behavior dillemna列表视图行为困境
【发布时间】:2012-02-12 18:27:37
【问题描述】:

我目前正在实现一个填充有 CheckedTextViews 的 ListView,并且一切都按照我想要的方式工作。除了一件事:我的 ListView 仍然是可聚焦的,因此其中的项目在聚焦时会在它们周围出现一个可怕的橙色边框。它还会更改令人讨厌的项目文本颜色。我曾尝试使用 SetItemsFocusable 方法,但无济于事。我还覆盖了我的适配器类的 isEnabled 方法,但这使我无法检查和取消选中列表项选择。我想保留 CheckedTextViews 的功能,只是禁用它们的可聚焦性。我也尝试过使 CheckedTextViews 在他们的 xml 文件中无法聚焦,但这也没有奏效。是否有某种方法可以禁用整个 ListView 及其所有子项的焦点,而不会丧失其子项的可检查性?我不希望 ListView 通过触摸或在键盘上滚动来获得焦点。非常感谢!

【问题讨论】:

  • 哦,我正在为 Android 2.2 开发,如果这有影响的话。

标签: android listview android-listview adapter


【解决方案1】:

您可以使用StateListDrawable 在列表中的各个视图上设置透明的焦点Drawable。尝试使用@android:color/transparent(显然是Drawable)。

这对我有帮助:http://blog.stylingandroid.com/archives/55

【讨论】:

    【解决方案2】:

    我经常用

    m_listView.setSelector(drawable or resid);
    

    实现它。

    ps:我认为丑陋的橙色来自许多来源,例如选择的列表视图项目或聚焦项目或项目控件自按下/聚焦,所以可能无法聚焦,但丑陋的橙色也存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-15
      相关资源
      最近更新 更多