android ActionBar 兼容低版本之搜索功能

来源:互联网 发布:血色天都 知乎 编辑:程序博客网 时间:2024/04/28 19:51

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这个包

@Overridepublic 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;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {    int id = item.getItemId();    return super.onOptionsItemSelected(item);}
//SearchView 监听事件
@Overridepublic boolean onQueryTextSubmit(String s) {    Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();    return false;}@Overridepublic boolean onQueryTextChange(String s) {    Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();    return false;}

0 0