当用作菜单的一部分时,为搜索小部件设置提示文本

jcv*_*dan 16 java android

我有一个菜单项作为我的操作栏菜单的一部分,我将动作视图类设置为搜索小部件,如下所示:

   <item android:id="@+id/menu_search"
        android:title="Search"
        android:icon="@drawable/ic_menu_search"
        android:showAsAction="always"
        android:actionViewClass="android.widget.SearchView" />
Run Code Online (Sandbox Code Playgroud)

这使得搜索小部件在单击时弹出 - 但是,我希望它始终可见,我还希望能够设置查询提示等.

当我尝试调用SearchView searchItem = (SearchView) menu.findItem(R.id.menu_search) 以获取对它的引用时,它会抛出一个错误,因为该项无法转换为a SearchView.

Ran*_*med 87

您可以使用api setQueryHint(CharSequence提示)将提示文本设置为searchview

SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
searchView.setQueryHint("Query Hint");
Run Code Online (Sandbox Code Playgroud)

请参阅文档


小智 12

默认情况下,这将使ActionView搜索框始终显示:

searchView.setIconifiedByDefault(false);
Run Code Online (Sandbox Code Playgroud)

这告诉搜索框始终要展开.图标化表示您需要点按图标才能显示搜索框.