禁用listview中项目的可点击属性

时间:2013-07-12 15:00:38

标签: android listview

我创建了一个项目,其中列表视图中有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);
        }

    });

但它不会帮助它而是崩溃我的应用程序任何建议.....

1 个答案:

答案 0 :(得分:2)

我相信您可能必须覆盖isEnabled方法,并且在那里您可以指定是否启用它的条件。为集合中的每个listviewitem调用此方法,例如:

@Override
public boolean isEnabled(int position) {
    if(CONDITION_GOES_HERE){
        return false;
    }
    return true;
}

可能有更好/更简单的方法,但这是首先想到的。

希望这会帮助你:)