0

後でキーボードを非表示にせずに、Enter キーでアクションを完了したいと思います。現在、何かを入力してEnterボタンを押すたびに、次の入力を受け入れるためにEditText入力がクリアされますが、キーボードが消えると、キーボードが再び表示されるようにEditTextをもう一度クリックする必要があります...

現在、これは私のレイアウトにあります:

<EditText
    android:id="@+id/etCommand"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:hint="@string/commandHint"
    android:inputType="textNoSuggestions"
    android:imeOptions="actionSend" >
</EditText>

そしてコード:

etCommand = (EditText) findViewById(R.id.etCommand);
etCommand.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_SEND) {
            sendCommand();
        }
        return false;
    }
});

編集

swayam が示唆したように、OS がアクションが処理されたと判断し、そのままにしておくために、true内部に戻る必要がありました。onEditorAction

4

2 に答える 2

0

Enter キーを押すための EditText の KeyListener を追加し、タスクが完了したら、edittext に再びフォーカスを当てることで解決できます。

于 2012-08-30T17:45:09.613 に答える
0

次のコード スニペットを試してください。

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
于 2012-08-30T16:30:15.377 に答える