已禁用的Android ListView项目仍可选择

时间:2015-06-22 20:47:46

标签: android android-listview

我有一个列表视图类,我正在努力创建它,以便可以禁用某些项目并阻止其被选中。在大多数情况下,我已经完成了所有工作,但有一个我无法解决的边缘情况。

我已经通过创建一个Integers的ArrayList来实现我的代码。如果项目的索引在列表中,则会被禁用。

然后我覆盖了areAllItemsEnabled和isEnabled函数,如下所示:

@Override
public boolean areAllItemsEnabled() {
    return false;
}

@Override
public boolean isEnabled(int position) {
    return !mDisabledItemsList.contains(position);
}

现在,这一切都很棒。如果他们被禁用,我无法选择这些项目。

然而,有一个边缘情况如下:

  1. 点按并按住可选项目。
  2. 在按住上一个水龙头的同时,点按已禁用的项目并按住该项目。
  3. 释放您的第一个水龙头。
  4. 禁用的项目会被选中。
  5. 这种情况甚至更奇怪,因为再次重复这些步骤无法取消选择该项目。

    我在Android ICS上遇到过这种情况。

    有没有人知道解决这个问题的方法,以便永远无法选择我的残疾人物品?

0 个答案:

没有答案