【问题标题】:Why is the wrong ListView item highlighted?为什么会突出显示错误的 ListView 项?
【发布时间】:2015-08-02 20:58:04
【问题描述】:

我实现了一个ListView,以及OnItemLongClick方法来高亮选中的项目,但是当我选择一个项目时,如果我滚动ListView,我发现另一个项目被高亮了。

我正在使用此代码:

list.setOnItemLongClickListener(new OnItemLongClickListener() {
          public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
                int pos, long id) {
              arg1.setBackgroundColor(Color.BLUE);
              return true;
          }
}); 

【问题讨论】:

  • 你的 ListView 有标题视图吗?
  • 那是视图回收。不要在视图中存储状态。相反,保留类似于选定索引的内容,并在适配器的 getView 中更新背景
  • @njzk2 你的意思是使用例如:list.getChildAt (pos).setBackround..etc??原因也不起作用,顺便说一下,我不知道如何从适配器更新背景:(
  • @pietv8x 我使用一个包含 textview 和 imageview 的 xml 文件,我在开发适配器时调用该文件
  • 您使用的是哪种适配器?你会覆盖 BaseAdapter 还是使用 ArrayAdapter?

标签: java android listview selecteditem listviewitem


【解决方案1】:

您可以使用android:listSelector 属性代替onItemLongClick

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 2015-09-08
    • 2020-02-14
    • 1970-01-01
    • 2012-01-05
    • 1970-01-01
    • 2012-03-15
    相关资源
    最近更新 更多