我发现了很多类似的问题但是它们都不能用于多行EditText。
如果我设置inputType="text"
EditText变为单行并且返回仅未显示。我还需要“Enter”按钮为“Enter”按钮(不是“Next”或“Done”)。
content.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN &&
keyCode == KeyEvent.KEYCODE_ENTER)
doSmthSpecial();
return false;
}
});
答案 0 :(得分:2)
我不知道为什么它没有调用ENTER键事件。但你可以选择另一种方法,为你提供同样的目的。使用OnEditorActionListener。
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
doSomethingSpecial();
return true;
}
});
在EditText上按ENTER键时调用此方法。
答案 1 :(得分:0)
我也在互联网上为这个问题的解决方案挖了很多时间,然后我发现了这个:
et.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
et is you edit text.
这对我来说就像魅力一样。