所以我在适配器中有以下代码:
@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项目单击并重新启用它所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)