单击操作栏中的搜索按钮后如何触发操作?

时间:2012-12-18 08:24:58

标签: android

我做了以下但是没有用

@Override
    public boolean onOptionsItemSelected(MenuItem menuItem)
    {       

        startActivity(new Intent(NamesList.this,MainActivity.class)); 

        switch (menuItem.getItemId()) {
        case 1:
            search = (EditText) menuItem.getActionView();
            search.addTextChangedListener(filterTextWatcher);
            search.requestFocus();
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

            String result = search.getText().toString();

            Toast.makeText(getApplicationContext(), "the :: " + result, Toast.LENGTH_LONG);

        }   


        return true;

    }

1 个答案:

答案 0 :(得分:0)

您可以使用search.setOnQueryTextListener()为SearchView中的用户操作设置侦听器。

search.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            //show your toast here
            return true;
        }

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

search.setOnSearchClickListener()设置侦听器,以便在按下搜索按钮时通知。这仅在默认情况下文本字段不可见时才相关。