我试图添加android:title =“”
那行不通。

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

效果不佳。
android - 如何在搜索框中更改标题?-LMLPHP

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


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

最佳答案

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

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

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

10-13 04:11