Android SearchView小部件-有没有办法选择里面的所有文本?

Android SearchView小部件-有没有办法选择里面的所有文本?,android,android-widget,Android,Android Widget,我正在使用SearchView小部件(在蜂巢中是新的)。我可以通过setQuery设置初始文本,这很有效 但是,是否有某种方法可以选择所有内部文本(类似于EditText.selectAll) 我想给用户提供以前搜索中的预设文本,但不需要删除旧文本就可以轻松键入新文本。您想在PC上做的很好,但在触摸设备上不太方便 我使用它允许用户重用最近的搜索,可能启用了查询优化。有点晚了,但我遇到了类似的问题 我想给用户从以前的搜索预设文本,但简单的方式键入新的文本,而不需要删除旧的 我找到了一个适合我的解决

我正在使用SearchView小部件(在蜂巢中是新的)。我可以通过setQuery设置初始文本,这很有效

但是,是否有某种方法可以选择所有内部文本(类似于EditText.selectAll)


我想给用户提供以前搜索中的预设文本,但不需要删除旧文本就可以轻松键入新文本。

您想在PC上做的很好,但在触摸设备上不太方便


我使用它允许用户重用最近的搜索,可能启用了查询优化。

有点晚了,但我遇到了类似的问题

我想给用户从以前的搜索预设文本,但简单的方式键入新的文本,而不需要删除旧的

我找到了一个适合我的解决方案。您只需要访问内部编辑文本,然后以常规方式选择所有文本

要做到这一点,请尝试以下方法。 请注意,我的代码是c语言的,不是Java语言,而是类似的语言

int id = searchView.Context.Resources.GetIdentifier("android:id/search_src_text", null, null);
EditText editText = searchView.FindViewById<EditText>(id);
editText.SelectAll();

我刚刚在API级别15上测试了它!但我认为它也适用于较低级别。

您只需要捕获内部编辑文本,然后执行任何您想要的操作

EditText edit = (EditText)searchView.findViewById(R.id.search_src_text);
edit.selectAll();
EditText edit = (EditText)searchView.findViewById(R.id.search_src_text);
edit.selectAll();