我需要在特定情况下禁用listview
中的某些项目。已禁用表示它们已灰显,不再可单击。需要停用的排名存储在名为ArrayList
的{{1}}。
我已成功完成此任务的一部分:我已通过覆盖适配器的方法positions_to_disable
boolean isEnabled(int position);
然而,我还没有办法让它们变灰。如果我尝试使用覆盖适配器的方法 @Override
public boolean isEnabled(int position) {
for (int j = 0; j < FromWhereActivity.positions_to_disable.size(); j++) {
if (position == FromWhereActivity.positions_to_disable.get(j)) {
return false;
}
}
return super.isEnabled(position);
}
做同样的事情,滚动时会让更多项目变灰,可能是因为此方法仅计算可见项目而不是计算适配器中的所有项目。
我该如何解决这个问题?
答案 0 :(得分:0)
您只需将列表项的背景设置为StateListDrawable,其具有不同的禁用颜色:
module ModuleA {
export var num = 4;
}
module ModuleB {
export function log() {
console.log(ModuleA.num);
}
}