java 在Action Bar / Toolbar中创建SearchView

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 在Action Bar / Toolbar中创建SearchView相关的知识,希望对你有一定的参考价值。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/search"
        android:title="search"
        app:showAsAction="always"
        app:actionViewClass="android.widget.SearchView" />
  </menu>
  @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main_menu, menu);
        SearchView sv  = (SearchView) menu.findItem(R.id.search).getActionView();
        SearchManager sm =(SearchManager) getApplication().getSystemService(Context.SEARCH_SERVICE);
        sv.setSearchableInfo(sm.getSearchableInfo(getComponentName()));
        sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                Toast.makeText(getApplicationContext(),query,Toast.LENGTH_LONG).show();
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                return false;
            }
        });

        return true;
    }

以上是关于java 在Action Bar / Toolbar中创建SearchView的主要内容,如果未能解决你的问题,请参考以下文章

Action Bar

此活动已经有一个由窗口装饰提供的操作栏(FEATURE_ACTION_BAR)

Action Bar

Android: Action Bar的使用

Android中Action Bar的使用

如何在 Action Bar Sherlock 中实现搜索小部件?