原创文章,如有转载,请注明出处:http://blog.csdn.net/myth13141314/article/details/61191232
listPopupWindow = new ListPopupWindow(MainActivity.this);
private class SuggestArrayAdapter extends BaseAdapter {
...
...
}
listPopupWindow.setAdapter(suggestArrayAdapter);
listPopupWindow.setAnchorView(toolbar);
listPopupWindow.setHeight(AppUtil.getSreenHeight(MainActivity.this)/3);
listPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
listPopupWindow.dismiss();
...
}
});
listPopupWindow.isShowing()
listPopupWindow.show();
listPopupWindow.dismiss();
<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"
android:title="@string/search_search"
android:icon="@mipmap/nav_search"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always|collapseActionView"/>
menu>
@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_toolbar, menu); //menu文件
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
final MenuItem searchMenuItem = menu.findItem(R.id.action_search);
final SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchMenuItem);
searchView.setQueryHint(getString(R.string.search_hint_text)); //设置输入前得提示文字
//设置输入内容监听
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
//用户点击搜索
}
@Override
public boolean onQueryTextChange(String newText) {
//搜索的内容改变
}
});
return super.onPrepareOptionsMenu(menu);
//监听输入内容焦点的变化
searchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
Log.e("searchview QueryTextFocusChange-->" + hasFocus);
}
});
}
以上只是简单的介绍了SearchView的用法,详细的可以参考官网SearchView