从工具栏中获取SearchView

时间:2015-12-31 16:14:36

标签: android android-layout view toolbar searchview

是否可以通过拥有Toolbar对象来获取ActionBar中的SearchView?

我知道你可以通过onCreateOptionsMenu()得到它,但在这种情况下,我只是想看看是否通过toolbar.findViewById我可以得到它

1 个答案:

答案 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>

希望它对你有所帮助。