大家好我想在列表视图中突出显示多个项目.
所以我试过SngList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);但它没有帮助
我正在使用自定义适配器并进行扩展 BaseAdapter
我使用ListView而不是AbsListView
我不想使用CAB,因为它与我的应用程序的设计不太一致
我也不想使用getView适配器的方法.
我也不想使用复选框,我想我会为每个项目使用布尔值并将其传递给getviews我,如果我在这里没有得到解决方案,但这似乎并不太优雅和整洁.我相信有一种适当的内置方式可以在不使用getview()适配器的情况下完成
我试过了:
android:drawSelectorOnTop="false"
android:listSelector="@android:color/darker_gray"
Run Code Online (Sandbox Code Playgroud)
在xml中,它只突出显示其中一个项目,一旦我点击另一个项目,它会突出显示它...
那么有没有正确的方法呢?
以下是我的应用的外观:

SngList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
Run Code Online (Sandbox Code Playgroud)
应该足够了,但是你必须使用 getView 来区分选中和未选中状态。
您可以使用isItemChecked()方法来确定项目是否被选中,因此您不必为每个项目引入布尔变量。
编辑:
像这样的东西:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ListView list = (ListView) parent;
if(list.isItemChecked(position)){
//...
}
else{
//...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2521 次 |
| 最近记录: |