我在mapview上有一个搜索栏小部件,我想要的是当我点击该小部件时,mapview被listview替换,listview会在我输入查询时动态更改显示的项目并保留搜索栏小部件在上面。然后,当我按下搜索栏小部件上的后退箭头时,我将返回到mapview。到目前为止,我已根据教程实现了搜索栏,当我按下Enter键时,它会启动另一个包含我的列表视图的活动,但这不是我想要的,因为搜索栏小部件消失了。
我的问题是,有没有办法使用搜索栏小部件来实现这一点,或者我应该在单击edittext时实现edittext并更改片段?
答案 0 :(得分:0)
我遇到了同样的问题,我实现的方式是我在Activity 1中有一个普通的搜索菜单图标,onClick它会打开另一个ListViewActivity。
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
final MenuItem searchItem = menu.findItem(R.id.search);
final SearchView searchView =
(SearchView) searchItem.getActionView();
searchView.setSearchableInfo(
searchManager.getSearchableInfo(getComponentName()));
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
// Some code here
return false;
}
@Override
public boolean onQueryTextChange(String s) {
// Some code here
return false;
}
});
MenuItemCompat.setOnActionExpandListener(searchItem, new MenuItemCompat.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
// Some code here
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
// Some code here
return true;
}
});
// Get the search close button
ImageView closeButton = (ImageView) searchView.findViewById(R.id.search_close_btn);
closeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Some code here
EditText et = (EditText) findViewById(R.id.search_src_text);
}
});
您可以覆盖searchView内部的textview,这样您就不必实现自定义edittext以及关闭和返回按钮