仅对列表视图中的某些元素禁用突出显示

时间:2014-02-05 08:55:03

标签: android android-listview

我有一个包含不同对象的列表视图。例如{A,B,B,A,C等} 如果我点击A就可以在项目上突出显示,但是如果我点击B我不想要突出显示。我在B组件的布局中放了clickable = false但它没有效果。

2 个答案:

答案 0 :(得分:1)

扩展BaseAdapter并实现isEnabled方法

@see:android developer reference

答案 1 :(得分:1)

禁用ListView项目

您需要覆盖以下方法:在适配器isEnabled(int position)areAllItemsEnabled()中。在isEnabled()中,您返回true或false取决于列表,并在areAllItemsEnabled()返回false。

示例

class CustomAdapter extends ArrayAdapter {

    public CustomAdapter(
            Context context, int textViewResId, CharSequence[] strings) {
        super(context, textViewResId, strings);
    }

...
....    

    public boolean areAllItemsEnabled() {
        return false;
    }

    public boolean isEnabled(int position) {
        // return false if you want to disable for any element
    }
}