【问题标题】:Disable onClick for a listview item's views during list scroll在列表滚动期间禁用列表视图项的视图的 onClick
【发布时间】:2017-02-11 03:25:26
【问题描述】:

我看到有时会发生问题,具体取决于用户滚动 ListView 的方式。

基本上我的ListView 项目包含一些checkboxes 和一个SwitchCompat,它们的OnCheckedChangeListener 都设置在适配器的getView 内。

问题在于,有时在常规滚动期间,OnCheckedChangeListener 会触发并且值会发生变化,而此时列表应该只滚动。

我应该如何处理?有没有一种简单的方法可以在列表滚动时禁用任何项目的点击?

【问题讨论】:

  • 我认为这可能是行重用的问题,而不是滚动时OnCheckedChangeListener 触发

标签: android listview


【解决方案1】:

当您滚动时,getView 会被执行,这会触发您的 OnCheckedChangeListener 方法。

vhold.checkbox.setOnCheckedChangeListener(null);
if(chonditionforchecking) {
    vhold.checkbox.setChecked(true);
} else { 
    vhold.checkbox.setChecked(false);
}

关于这个link还有更多解决方案

【讨论】:

  • 或者,更准确地说,vhold.checkbox.setChecked(chonditionforchecking)
猜你喜欢
  • 1970-01-01
  • 2011-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-21
  • 2012-03-25
相关资源
最近更新 更多