Android ListView项以编程方式突出显示

时间:2010-03-11 19:54:42

标签: android listview highlight listviewitem

我知道它已经被问到了,但我还没有找到答案(对Android来说很新,所以很抱歉无知)

我的应用程序的启动Activity有一个EditText(称为searchbox),一个ListView(名称)和一个Spinner(类型)

我使用EditText作为搜索框,我必须通过自定义编辑传递字符串,以使搜索更灵活。之后,我将其与我在'指定'中找到的最接近的近似值进行匹配,然后执行

designations.setSelection(j);

正如预期的那样,这会将所需的项目设置为指定的顶部。但我找不到通过代码突出显示它的方法。

现在,我知道如果设备处于触摸模式,则不会突出显示所选项目。所以我的搜索框的onTextChanged事件的最后4行是:

        designations.setFocusable(true);            
        designations.setFocusableInTouchMode(true);
        if (match==true)      designations.setSelection(j);
        if (st.length()==0)   designations.setSelection(0);

无济于事。

现在,我在searchbox的afterTextChanged(可编辑的s)上没有任何代码;

所以有人能给我一个线索吗?

问候 〜DH

2 个答案:

答案 0 :(得分:3)

检查requestFocus()和requestChildFocus()

答案 1 :(得分:2)

您是否尝试过设置要选择的实际View

designations.setSelection(j);
designations.getSelectedView().setSelected(true);