0

キーボード入力と EditText に検索ボタンを追加し、検索を次のように進めたところ、次のエラーが発生しました

recherche=(EditText)findViewById(R.id.recherche);

recherche.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_SEARCH) {

                    new DownloadTask().execute();                   
                    return true;
                }
                return false;
            }
        });

エラー:タイプ new TextView.OnEditorActionListener(){} は、継承された抽象メソッド TextView.OnEditorActionListener.onEditorAction(TextView, int, KeyEvent) を実装する必要があります

エラー: KeyEvent を型に解決できません

4

1 に答える 1

0

これが私のコードのサンプルです:

TextView.OnEditorActionListener enterListener = new TextView.OnEditorActionListener() {
   @Override
   public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
       if ((keyEvent != null && (keyEvent.getKeyCode() == KeyEvent.KEYCODE_ENTER)) || (i == EditorInfo.IME_ACTION_DONE)) {
            InputMethodManager inputManager = (InputMethodManager)
                    getSystemService(Context.INPUT_METHOD_SERVICE);
                    inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
                   InputMethodManager.HIDE_NOT_ALWAYS);
            bQServer.performClick();
        }
        return false;
    }
};

//etUserName.setOnEditorActionListener(enterListener);
etPassword.setOnEditorActionListener(enterListener);

あなたはただ変更できるはずKeyEvent.KEYCODE_ENTERですKeyEvent.KEYCODE_SEARCH

すなわち

TextView.OnEditorActionListener enterListener = new TextView.OnEditorActionListener() {
       @Override
       public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
           if ((keyEvent != null && (keyEvent.getKeyCode() == KeyEvent.KEYCODE_SEARCH)) {
               new DownloadTask().execute();
               return true; 
            }
            return false;
        }
    };

recherche.setOnEditorActionListener(enterListener);

- 編集 -

KeyEvent と onEditorActionListener をインポートしたことを確認してください

import android.view.KeyEvent;
import android.widget.TextView.OnEditorActionListener;
于 2013-08-06T15:51:53.817 に答える