【发布时间】:2010-12-17 11:27:25
【问题描述】:
我为一个应用程序编写了代码。其中我为编辑文本编写了 IME_ACTION_DONE。所有其他设备都支持此操作,但在 HTC 中我没有得到这个“完成”软键盘按钮。我怎样才能得到这个软按钮HTC 需要其他明智的方法,请在 EditText 上给我这个完成按钮功能的替代方案,而无需对我的应用程序进行大量更改以与 HTC 一起使用。
【问题讨论】:
标签: android
我为一个应用程序编写了代码。其中我为编辑文本编写了 IME_ACTION_DONE。所有其他设备都支持此操作,但在 HTC 中我没有得到这个“完成”软键盘按钮。我怎样才能得到这个软按钮HTC 需要其他明智的方法,请在 EditText 上给我这个完成按钮功能的替代方案,而无需对我的应用程序进行大量更改以与 HTC 一起使用。
【问题讨论】:
标签: android
您的问题不仅仅在于 HTC。没有 IME 实现有义务支持操作按钮。我相信有很多软键盘,因此会产生相同的效果。
请在 EditText 上给我这个完成按钮功能的替代方案,而无需对我的应用程序进行大量更改以与 HTC 一起使用。
在活动中使用Button 小部件。或者,使用选项菜单选项。无论如何你都需要它,因为硬件键盘没有操作按钮,所以你也需要一些 UI。
【讨论】:
考虑到其他键盘不听!你也可以这样做。
yourEditText.setOnEditorActionListener(this);
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
// Hides the keyboard on HTC devices that do not comply with imeOptions="actionDone"
// You could wrap this in a device check if you just want to single out HTC
((InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(0, 0);
return true;
}
【讨论】:
Motorola DROID RAZR HD 没有在按下完成按钮时隐藏数字键盘。此代码是否适用于所有设备?如果是,那为什么只为HTC 换行?