0

我有一个搜索视图作为操作项。除了我想拦截搜索执行事件之外,一切都运行良好。在那个时候,一个新的活动开始了搜索结果。发生这种情况时,我想折叠上一个活动中的搜索视图。因此,当用户从搜索结果活动中返回时,操作菜单应该被折叠。

4

1 回答 1

0
@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //Used to put dark icons on light action bar

        //Create the search view
        final SearchView searchView = new SearchView(getSupportActionBar().getThemedContext());
        searchView.setQueryHint("Search");

        menu.add(Menu.NONE,Menu.NONE,1,"Search")
            .setIcon(R.drawable.abs__ic_search)
            .setActionView(searchView)
            .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

        searchView.setOnQueryTextListener(new OnQueryTextListener() {
            @Override
            public boolean onQueryTextChange(String newText) {
                if (newText.length() > 0) {
                    // Search

                } else {
                    // Do something when there's no input
                }
                return false;
            }
            @Override
            public boolean onQueryTextSubmit(String query) { 

                InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(searchView.getWindowToken(), 0);

                Toast.makeText(getBaseContext(), "dummy Search", Toast.LENGTH_SHORT).show();
                setSupportProgressBarIndeterminateVisibility(true);

                Handler handler = new Handler(); 
                handler.postDelayed(new Runnable() { 
                     public void run() { 
                         setSupportProgressBarIndeterminateVisibility(false);
                     } 
                }, 2000);

                return false; }
        });

        return true;
    }

我认为您可以SearchViewonQueryTextSubmit方法中崩溃,请参见上面的代码

于 2013-06-29T19:21:18.763 回答