按下搜索按钮后删除搜索查询

时间:2013-09-12 17:31:33

标签: android xml eclipse search

我在操作栏中使用了Android搜索小部件。当我编写查询并按下搜索按钮或完成时,一切都在我的搜索部分中有效,但我想在搜索字段中删除该查询,或者重置搜索窗口小部件(SearchView)值。

例如:如果我在按下搜索按钮后写“test”,我不想在我的搜索文件中进行这个“测试”。您能告诉我如何删除我的搜索查询!

提前致谢!

我正在使用来自android的SearchView小部件

1 个答案:

答案 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;
        }
    });
}