我有一个处于多选模式的ListView。我不想要复选框。我只是希望当我单击项目时,它们可以突出显示以显示选中状态。再次单击时,突出显示将消失并取消选中。
所以现在我的问题是我的项目根本没有被检查和突出显示。我不知道为什么。
代码如下:
mFriendList.setAdapter(adapter);
mFriendList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
mFriendList.setOnItemClickListener(new FriendsItemClickListener());
}
}
// The click listener for FriendsList
private class FriendsItemClickListener implements
ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Log.d("ItemClickPosition", String.valueOf(position));
// if already checked, then uncheck
if(mFriendList.isItemChecked(position)){
mFriendList.setItemChecked(position, false);
Log.d("OnItemClick", String.valueOf(mFriendList.isItemChecked(position)));
}else{
// if uncheck, then check
mFriendList.setItemChecked(position, true);
Log.d("OnItemClick", String.valueOf(mFriendList.isItemChecked(position)));
}
}
现在的问题是这些项目从未被检查或显示突出显示。 我得到的所有日志是:
ItemClickPosition 0
OnItemClick false
ItemClickPosition 1
OnItemClick false
ItemClickPosition 2
OnItemClick false
为什么他们没有被选中?
最佳答案
使用如下选择器
突出显示.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:state_activated="true"
android:drawable="@color/pressed_color"/>
</selector>
&在相对/线性布局中使用它,如下所示
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/highlight"
>
关于Android ListView多项选择在点击后不显示突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25084211/