我想这一定很简单,但我自己也无法弄明白。
我的应用中有一个搜索视图,在输入时会给出一些建议。在从下拉列表中选择(点击)特定建议时,建议文本被设置到搜索视图中,但焦点/光标位于文本的末尾。您可以在下面的图片中看到光标位于最后。
无论如何将光标设置为searchview中文本的开头?因此,当设置文本时,将显示文本的开头而不是结束部分。
感谢。
答案 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位置....
它对我有用,希望这对你也有帮助....