如何从搜索菜单android清除文本

时间:2015-01-22 23:16:23

标签: android eclipse searchview

我在我的应用程序中创建了一个搜索。也是数据库和联系提供者。当我在搜索中单击该术语时,然后启动一个导致该术语解释的活动。当我返回上一个活动时,文本仍然可以在搜索框中看到。我想自动清除。

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

SearchableDictionary.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);但它对我不起作用。

1 个答案:

答案 0 :(得分:0)

当你回到上一个活动时,很可能不会调用

onCreateOptionsMenu,除非有内存限制,活动不会被杀死并重新启动。

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