如何在搜索框中更改标题?

时间:2018-11-16 17:46:51

标签: android search

我尝试添加android:title =“” 那是行不通的。

SearchView searchView =(SearchView)miFind.getActionView(); searchView.setQueryHint(“您的消息”);

也不能正常工作。 enter image description here

private SearchView.OnQueryTextListener onSearch() {
        return new SearchView.OnQueryTextListener(){
            @Override
            public boolean onQueryTextSubmit(String query) {

                WebView mWebView= (WebView) findViewById(R.id.webView);
                mWebView.loadUrl("http://www.example.com" +query);
                return false;
            }
            @Override
            public boolean onQueryTextChange(String newText) {
                return false;
            }
        };

enter image description here

2 个答案:

答案 0 :(得分:1)

如果您在谈论搜索提示,则需要使用SearchView中的以下方法: setQueryHint

来自documentation

  

设置提示文本以显示在查询文本字段中。此优先   在SearchableInfo中指定的任何提示。

     

此值可以指定为空字符串以防止任何查询   提示被显示。


示例:

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize">

    <android.support.v7.widget.SearchView
            android:id="@+id/search_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:imeOptions="actionSearch|flagNoExtractUi"
            app:searchHintIcon="@null"
            app:searchIcon="@null"
            app:queryBackground="@null"
            app:submitBackground="@null"/>

</android.support.v7.widget.Toolbar>

Java:

final SearchView searchView = findViewById(R.id.search_view);
searchView.setQueryHint("Your search string");

答案 1 :(得分:1)

如果您在菜单中定义了具有以下属性的项目:

app:actionViewClass="android.support.v7.widget.SearchView"

然后,您必须在代码中获取它才能更改其提示。

onCreateOptionsMenu()方法中,膨胀菜单后添加以下代码:

MenuItem miFind = menu.findItem(R.id.miFind);
SearchView searchView = (SearchView) miFind.getActionView();
searchView.setQueryHint("your message");

miFind替换为充当您的SearchView的菜单项的ID。

编辑:在onCreateOptionsMenu()中添加此侦听器:

miFind.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
     @Override
      public boolean onMenuItemActionExpand(MenuItem menuItem) {
          searchView.setQueryHint("your message when expanded");
          return true;
      }

      @Override
      public boolean onMenuItemActionCollapse(MenuItem menuItem) {
           searchView.setQueryHint("your message when collapseded");
           return true;
      }
});