我创建了一个项目,其中列表视图中有20个项目,其中我想要禁用15个项目,除非他们被购买,一旦他们被购买他们变得可点击,我尝试了这个代码:
setListAdapter(new ArrayAdapter<String>(QuantitativeAptitude.this,
R.layout.row, quantList){
@Override
public boolean isEnabled(int position) {
ListView lv = getListView();
for (int i = 5; i <=20; i++){
View v = lv.getChildAt(i);
v.setEnabled(false);
}
return super.isEnabled(position);
}
});
但它不会帮助它而是崩溃我的应用程序任何建议.....
答案 0 :(得分:2)
我相信您可能必须覆盖isEnabled方法,并且在那里您可以指定是否启用它的条件。为集合中的每个listviewitem调用此方法,例如:
@Override
public boolean isEnabled(int position) {
if(CONDITION_GOES_HERE){
return false;
}
return true;
}
可能有更好/更简单的方法,但这是首先想到的。
希望这会帮助你:)