操作栏中的Android搜索小组件

时间:2015-03-16 11:50:46

标签: android android-actionbar searchview

我已在我的应用的操作栏中实施了搜索视图。 第一次运行搜索功能时,一切都正常运行。但是在搜索功能的第二次运行中,软键盘会显示' Next'而不是' Go'这不会运行该功能。

MainActivity(主要活动中searchview的缩减):

// Associate searchable configuration with the SearchView
        SearchManager searchManager =
                (SearchManager) getSystemService(Context.SEARCH_SERVICE);

        searchMenuItem = menu.findItem(R.id.search);
        searchView =
                (SearchView) MenuItemCompat.getActionView(searchMenuItem);
        searchView.setSearchableInfo(
                searchManager.getSearchableInfo(getComponentName()));

        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String s) {
                MenuItemCompat.collapseActionView(searchMenuItem);
                searchView.setQuery("", false);
                searchView.setIconified(true);
                return false;
            }

            @Override
            public boolean onQueryTextChange(String s) {
                return false;
            }
        });

POISearchActivity(searchview调用此方法,此方法依次调用main活动中的函数):

private void handleIntent(Intent intent) {
        //use the query to search your data somehow
        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
            String query = intent.getStringExtra(SearchManager.QUERY);
            //use the query to search your data somehow
            String[] searchArray = new String[20];
            searchArray[0] = "name like '%"+query+"%'";
            searchArray[1] = "search";

            MainActivity mainInstance = new MainActivity();
            mainInstance.searchFunction(searchArray);
            finish();
        }

    }

该功能只运行一次,我想在用户提交搜索时重置所有内容? 我有什么想法可以做到这一点。

0 个答案:

没有答案