我知道有人问过这个问题,但我还没有找到答案(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);

无济于事。

现在,我在搜索框的afterTextChanged(Editable s)上没有任何代码;

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

问候
〜dh

最佳答案

checkout requestFocus(),可能还会请求requestChildFocus()

10-01 00:37