在我的应用程序的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的三星设备。
编辑文本的屏幕缩写:

发布于 2011-11-29 16:58:18
这不是Android版本的问题,而是你的设备使用的输入法错误。三星(以及HTC的一些公司,我想)输入法永远不会将字母改为"Done“、"Next”或"Go“。
https://stackoverflow.com/questions/8307748
复制相似问题