1.让当前Activity 继承ActionBarActivity
public class MainActivity extends AppCompatActivity implements SearchView.OnQueryTextListener{}
2.menu 布局文件
<?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/action_search" app:actionViewClass="android.support.v7.widget.SearchView" android:icon="@mipmap/search" android:title="搜索" app:showAsAction="always"/> </menu>
3.在MainActivity 中重写onCreateOptionsMenu()和onOptionsItemSelected()
注意:SearchView 导的是android.support.v7.widget.SearchView这个包
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_search, menu); MenuItem item = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) item.getActionView(); searchView.setOnQueryTextListener(this); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); return super.onOptionsItemSelected(item); }
//SearchView 监听事件
@Override public boolean onQueryTextSubmit(String s) { Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show(); return false; } @Override public boolean onQueryTextChange(String s) { Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show(); return false; }