我知道这个问题已经被问过了,但我还没有找到完全的答案(对Android新手感到抱歉)。
我的应用程序启动活动有一个EditText(称为searchbox),一个ListView(designations)和一个Spinner(types)。
我使用EditText作为搜索框,必须通过自定义编辑将字符串传递以使搜索更加灵活。之后,我将其与“designations”中最接近的近似值匹配,并执行
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(Editable s)中没有任何代码;
所以,有人能给我提示吗?
谢谢 ~dh