Android 为禁用的listview项目设置背景

Android 为禁用的listview项目设置背景,android,listview,android-listview,Android,Listview,Android Listview,我正在编写一个使用Listview(带有自定义适配器)的程序,我想禁用Listview中的一些项。我通过使用以下代码来实现这一点(到目前为止还不错): 然而,这并没有提供任何视觉线索。。。只有这样一个事实,即在设置布尔值mBool1后,不能单击位置2和3处的列表项,但背景保持不变。如何将禁用的listview项的背景色更改为与启用的不同?我正在尝试使用选择器,但找不到正确的组合。而且不应该。所有可视状态都在getView中计算(或bindView,具体取决于您使用的适配器类型)。所以你应该做一些

我正在编写一个使用Listview(带有自定义适配器)的程序,我想禁用Listview中的一些项。我通过使用以下代码来实现这一点(到目前为止还不错):


然而,这并没有提供任何视觉线索。。。只有这样一个事实,即在设置布尔值mBool1后,不能单击位置2和3处的列表项,但背景保持不变。如何将禁用的listview项的背景色更改为与启用的不同?我正在尝试使用选择器,但找不到正确的组合。

而且不应该。所有可视状态都在
getView
中计算(或
bindView
,具体取决于您使用的适配器类型)。所以你应该做一些类似的事情:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // Get the view
    if(isEnabled(position)) {
        view.setBackground(...);
    } else {
        view.setBackground(...);
    }
}

它不应该这样。所有可视状态都在
getView
中计算(或
bindView
,具体取决于您使用的适配器类型)。所以你应该做一些类似的事情:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // Get the view
    if(isEnabled(position)) {
        view.setBackground(...);
    } else {
        view.setBackground(...);
    }
}