2

以下を実行しましたが、うまくいきませんでした

@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;

    }
4

1 に答える 1

1

を使用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()、検索ボタンが押されたときに通知するリスナーを設定します。これは、テキスト フィールドがデフォルトで表示されない場合にのみ関係します。

于 2012-12-18T08:28:15.417 に答える