Android 检测edittext中的击键
我有一个编辑文本和一个按钮。我希望在edittext中按下键盘上的enter/回车键时调用按钮onclick处理程序 xml布局:Android 检测edittext中的击键,android,android-edittext,Android,Android Edittext,我有一个编辑文本和一个按钮。我希望在edittext中按下键盘上的enter/回车键时调用按钮onclick处理程序 xml布局: <EditText android:id="@+id/input" android:layout_weight="1" android:layout_width="0dp" android:maxLength="1" android:layout_height="wrap_content" andr
<EditText android:id="@+id/input"
android:layout_weight="1"
android:layout_width="0dp"
android:maxLength="1"
android:layout_height="wrap_content"
android:hint="@string/enter" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="handler"/>
我读过关于堆栈溢出的其他答案,但没有一个解决方案对我有效,因为我可能做错了什么。有人能用代码告诉我在edittext中按ENTER键时如何调用处理程序吗
我正在运行代码的设备是一个带有蜂巢的Acer Iconia A501平板电脑
这是完整的java文件
试试这个
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode) {
case KeyEvent.KEYCODE_ENTER:
button.performClick();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
这起作用了
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_ENTER:
button.performClick();
return true;
default:
return super.onKeyUp(keyCode, event);
}
}
这不管用。。按enter键时没有响应。另外,请注意edittext设置为android:maxLength=“1”。。这可能是未检测到enter键的原因吗?maxLength没有引起问题。。没有它也无法工作。请尝试在xml中使用android:imeOptions=“”。这方面的更多细节与凯图的答案完全相同,但它不起作用。未检测到enter。我不知道这是否相关,但我运行代码的设备是带有蜂巢的Acer Iconia A501平板电脑
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode) {
case KeyEvent.KEYCODE_ENTER:
button.performClick();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_ENTER:
button.performClick();
return true;
default:
return super.onKeyUp(keyCode, event);
}
}