0

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

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

提前致谢!

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

4

1 回答 1

2

您正在寻找的方法是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;
        }
    });
}
于 2013-09-12T20:48:08.367 回答