我在操作栏中使用了Android搜索小部件。当我编写查询并按下搜索按钮或完成时,一切都在我的搜索部分中有效,但我想在搜索字段中删除该查询,或者重置搜索窗口小部件(SearchView
)值。
例如:如果我在按下搜索按钮后写“test”,我不想在我的搜索文件中进行这个“测试”。您能告诉我如何删除我的搜索查询!
提前致谢!
我正在使用来自android的SearchView
小部件
答案 0 :(得分:2)
您正在寻找的方法是setQuery()
,在此处记录:https://developer.android.com/reference/android/widget/SearchView.html#setQuery(java.lang.CharSequence,布尔值)
这是一些示例代码,用于在执行搜索后清除搜索栏。您的活动或片段中可能已经有onCreateOptionsMenu()
的实现,因此只需使用您缺少的位。
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.my_menu, menu);
// Find search item
MenuItem item = menu.findItem(R.id.my_search_item);
// Get search view attached to item
final SearchView searchView = (SearchView) mSearchItem.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
// Perform search here!
performSearch(query);
// Clear the text in search bar but (don't trigger a new search!)
searchView.setQuery("", false);
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
return true;
}
});
}