アプリケーションの EditText にテキストを入力するときに「完了」キーを表示するには、ソフトキーボードが必要です。Android 2.1 デバイスでは [完了] ボタンが表示されますが、2.3 以降では表示されません。
これは私が使用するコードです:
e.setImeOptions(EditorInfo.IME_ACTION_DONE);
e.setOnEditorActionListener(
new EditText.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId,KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH ||
actionId == EditorInfo.IME_ACTION_DONE ||
event.getAction() == KeyEvent.ACTION_DOWN &&
event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
Toast.makeText(getBaseContext(), e.getText().toString(), Toast.LENGTH_SHORT).show();
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(e.getWindowToken(), 0);
return true;
}
return false;
}
});
Android バージョン 2.3.4 の Samsung デバイスを使用しています。
編集テキストのスクリーンショット: