android-禁用Listview项目单击并重新启用它

android-禁用Listview项目单击并重新启用它,第1张

概述所以我在适配器中有以下代码:@OverridepublicbooleanisEnabled(intposition){GeneralItemitem=super.getItem(position);booleanretVal=true;if(item!=null){if(currSection!=some_c

所以我在适配器中有以下代码:

@OverrIDe    public boolean isEnabled(int position)     {         Generalitem item = super.getItem(position);         boolean retVal = true;            if (item != null)            {                if (currSection != some_condition)                retVal = !(item.shouldBeDisabled());            }         return retVal;     }    public boolean areAllitemsEnabled()     {        return false;    }

这里的问题是:如果我在初始绑定期间禁用了我的项目,那么现在我在屏幕上引发该事件,无论如何都需要启用它们.执行该 *** 作后,我是否会重新全部绑定?

例如:

onCreate{// create and bind to adapter// this will disable items at certain positions }onSomeClick{I need the same ListvIEw with same items available for click no matter what the conditions of positions are, so I need them all enabled. What actions should I call on the adapter? }

问题是我的列表视图也可能很长.它应该支持6000个项目.因此,重新绑定它当然不是一种选择.

谢谢,

解决方法:

适配器上有一个实例变量怎么办:

boolean ignoreDisabled = false;

然后在areAllitemsEnabled中:

public boolean areAllitemsEnabled() {    return ignoreDisabled;}

然后在isEnabled的开头:

public boolean isEnabled(int position) {    if (areAllitemsEnabled()) {        return true;    }     ... rest of your current isEnabled method ...}

然后,可以通过适当地设置ignoreDisabled并在ListVIEw上调用invalIDate来在两种模式之间切换.

注意,可能不需要添加isEnabled.似乎更完整了.

总结

以上是内存溢出为你收集整理的android-禁用Listview项目单击并重新启用它全部内容,希望文章能够帮你解决android-禁用Listview项目单击并重新启用它所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1095213.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存