android – 如何突出显示列表视图中的多个项目?

前端之家收集整理的这篇文章主要介绍了android – 如何突出显示列表视图中的多个项目?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
你好,我想在列表视图中突出显示多个项目.

所以我试过SngList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);但它没有帮助

我正在使用自定义适配器并扩展BaseAdapter

我使用的是ListView而不是AbsListView

我不想使用CAB,因为它不适合我的应用程序的设计

我也不想使用适配器的getView方法.

我也不想使用复选框,我想我将为每个项目使用一个布尔值,并将其传递给getviews,如果我没有得到一个解决方案,但这似乎不太优雅和整洁.我相信在没有使用适配器的getview()的情况下,有一种合适的内置方式

我试过了:

android:drawSelectorOnTop="false"
android:listSelector="@android:color/darker_gray"

在xml中,但它只突出显示其中一个项目,只要我点击另一个项目,它会突出显示它…

那么有什么正确的做法吗?

这是我的应用程序的外观:

解决方法

SngList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

这应该是足够的,但是您必须使用getView来区分所选和未选择的状态.

您可以使用isItemChecked()方法来确定项目被选择的天气,因此您不必为每个项目引入一个布尔变量.

编辑:

这样的事情

@Override
public View getView(int position,View convertView,ViewGroup parent) {
    ListView list = (ListView) parent;

    if(list.isItemChecked(position)){
        //...
    }
    else{
        //...
    }

猜你在找的Android相关文章