单击后,Android ListView Multi-Choice不显示突出显示 [英] Android ListView Multi-Choice don't show highlight after chlicking

查看:82
本文介绍了单击后,Android ListView Multi-Choice不显示突出显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在多选模式下有一个ListView.我不要复选框.我只想当我单击项目时,它们可以突出显示以显示选中状态.再次单击时,突出显示将消失且未选中.

I have a ListView in the multi-choice mode. I don't want check box. I just want when i click on items, they could highlight to show checked state. when clicking again, the highlight will disappeared and unchecked.

所以现在我的问题是我的物品没有被检查并突出显示.我不知道为什么.

So now my problem is my items are not checked and highlight at all. I don't know why.

这是代码:

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)));
        }
    }

现在的问题是,这些项目从未检查过或未突出显示. 而我得到的所有日志是:

now the problem is the items are never checked or show highlight. and all the log I got is:

ItemClickPosition   0 
OnItemClick         false
ItemClickPosition   1 
OnItemClick         false
ItemClickPosition   2 
OnItemClick         false

为什么不选择它们?

推荐答案

使用如下所示的选择器

highlight.xml

highlight.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item 
        android:state_activated="true"
        android:drawable="@color/pressed_color"/>

</selector>

&像下面这样在相对/线性布局中使用它

& Use this in your relative/linear layout like below

<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 Multi-Choice不显示突出显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆