我知道有人问过这个问题,但我还没有找到确切的答案(对于 Android 新手,很抱歉我的无知)

我的应用程序的启动 Activity 有一个 EditText (称为搜索框)、一个 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

有帮助吗?

解决方案

签出requestFocus()方法和也许requestChildFocus()

其他提示

您是否尝试过设置实际的 View 被选中?

designations.setSelection(j);
designations.getSelectedView().setSelected(true);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top