Android ListView多项选择在点击后不显示突出显示

标签 android listview multichoiceitems

我有一个处于多选模式的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/

相关文章:

android - Custom ArrayAdapter 中的 EditText TextChangedListener 没有给出列表项的正确位置。返回的位置值始终为 0。

listview - ContentResolver$CursorWrapperInner 无法转换

android - ActionbarCompat 的 MultiChoiceAdapter NoSuchMethodException : startActionMode

android - ListView:隐藏上下文操作栏

android - Android Toast 可以比 Toast.LENGTH_LONG 长吗?

android - 如何在空 Canvas 上画圆?

android - 如何在android中的LinearLayout中居中ListView

javascript - 多图表选择就像谷歌云平台

android - 没有光标的字母索引 ListView

android - Ionic 4/Cordova - 获取设备帐户