如何从搜索菜单安卓清除文本



我已经在我的应用程序中创建了一个搜索。还有数据库和连接提供程序。当我在搜索中单击该术语时,然后启动一项导致该术语解释的活动。当我返回到上一个活动时,文本仍然在搜索框中可见。我想被自动清除。

我一直在寻找问题的解决方案,但我还没有找到。请帮忙!

可搜索词典.java

 @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.searchable_dictionary, menu);
        MenuItem item = menu.findItem(R.id.search);
        SearchView searchView = SearchView)MenuItemCompat.getActionView(item);
        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        SearchableInfo info = searchManager.getSearchableInfo(getComponentName());
        searchView.setSearchableInfo(info); 
        searchView.setIconified(true);

我尝试了: searchView.clearFocus(); searchView.setQuery(", false);但它对我不起作用。

当您返回到上一个活动时,很可能不会调用onCreateOptionsMenu,因为除非存在内存限制,否则活动不会被终止并重新启动。

我建议当用户单击结果时在回调中调用searchView.setQuery("", false)。然后启动新的活动,当用户返回时,搜索字段已被清除。

最新更新