Butterknife:暂时禁用听众

时间:2015-02-03 14:35:06

标签: android butterknife

我将@OnClick侦听器设置为列表项中的视图。在某些情况下,我需要为此视图禁用侦听器,以便列表视图可以处理单击(应该调用OnItemClickListener),然后再次启用它。有没有办法用Butterknife做到这一点?

3 个答案:

答案 0 :(得分:4)

我查看了ButterKnife源代码,当您使用OnClickListener注释时,看起来BK会在视图上生成并设置@OnClick(R.id.some_id)

现在,禁用OnClickListener的唯一方法是将其删除:

item.setOnClickListener(null)

如果您再次需要,可以要求ButterKnife重复注射:

ButterKnife.inject(item);

那个和Ethan提出的解决方案是我能想到的唯一解决方案。

答案 1 :(得分:2)

用Butterknife我不知道。但我知道你可以通过创建一个私有布尔值和一个if语句来做到这一点。 if(yourboolean == true){ //set your onClickListener }else{//do nothing }

答案 2 :(得分:1)

您可以在应用中添加类似shouldListenClick的布尔标志,并在任意位置设置为true和false。然后,您可以在执行其代码之前检查shouldListenClick中的@OnClick或任何其他ButterKnife侦听器调用。