我尝试添加 android:title="" 那是行不通的。
SearchView searchView = (SearchView) miFind.getActionView(); searchView.setQueryHint("你的信息");
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;
}
};
最佳答案
如果您在菜单中定义了具有此属性的项目:
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/