java - 如何更改搜索框的标题?

标签 java 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

最佳答案

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

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;
      }
});

关于java - 如何更改搜索框的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53342947/

相关文章:

java - Java 中的加密技术保留输入文本的格式

java - 从artifactory下载最后一个maven快照

android - 互相关以查找声纳回波

Django Haystack子串搜索

java - Android 是否支持短路?

java - 使用 JWrapper 时出现异常

android - 将 Makefile 转换为 Android.mk

android - SavedInstanceState 始终为空,即使它有一个 id

c++ - 通过未排序的列表改进搜索

java - 如何从输入文件中获取某些文本的行号?