我在操作栏中使用了 Android 搜索小部件。当我编写查询并按下搜索按钮或完成时,一切都在我的搜索部分工作,但我想在搜索字段中删除该查询,或重置搜索小部件 ( SearchView
) 值。
例如:如果我在按下搜索按钮后写“测试”,我不想在我的搜索文件中包含这个“测试”。请告诉我如何删除我的搜索查询!
提前致谢!
我正在使用SearchView
来自 android 的小部件
您正在寻找的方法是setQuery()
,记录在这里:https://developer.android.com/reference/android/widget/SearchView.html#setQuery(java.lang.CharSequence , boolean)
这是一些在执行搜索后清除搜索栏的示例代码。您可能已经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;
}
});
}