是否可以通过拥有Toolbar对象来获取ActionBar中的SearchView?
我知道你可以通过onCreateOptionsMenu()得到它,但在这种情况下,我只是想看看是否通过toolbar.findViewById我可以得到它
答案 0 :(得分:0)
是的。可以显示SearchView。为此,您需要添加菜单功能,例如:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
default:
return super.onOptionsItemSelected(menuItem);
}
}
您需要在menu_main菜单中实现以下代码(它必须保留在菜单文件夹中)。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/search"
android:icon="@drawable/abc_ic_search_api_mtrl_alpha"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always|collapseActionView"/></menu>
希望它对你有所帮助。