SearchView - 选择并设置建议时显示文本的开头

时间:2016-11-03 11:24:30

标签: android searchview

我想这一定很简单,但我自己也无法弄明白。

我的应用中有一个搜索视图,在输入时会给出一些建议。在从下拉列表中选择(点击)特定建议时,建议文本被设置到搜索视图中,但焦点/光标位于文本的末尾。您可以在下面的图片中看到光标位于最后。enter image description here

无论如何将光标设置为searchview中文本的开头?因此,当设置文本时,将显示文本的开头而不是结束部分。

感谢。

1 个答案:

答案 0 :(得分:3)

1 - 实际上searchView使用textview作为我们设置查询的edittext。 EditText是TextView,它继承TextView。所以首先找到该textview的id如下所示。

TextView searchText = (TextView) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);

或使用此方法

int id = searchView.getContext()
               .getResources() 
               .getIdentifier("android:id/search_src_text", null, null); 
         EditText editText = (EditText) searchView.findViewById(id);

2 - 现在使用此edittext搜索您的数据。

3 - 获得查询结果后,您可以使用editText.setSelection(0)方法将焦点/光标设置在0位置....

它对我有用,希望这对你也有帮助....