【发布时间】:2013-10-22 15:47:59
【问题描述】:
我的应用程序中有一个 EditText。此 editText 使用 editText.setText 方法每 10 秒通过代码更新一次。我想在用户打开软键盘时停止此更新。当用户完成他的输入操作(按完成)按钮时,我想从 editText.setText 恢复更新。 我尝试过 InputMethodManager isActive(View) 来检查我的 EditText 当前是否在使用 editText.setText 方法时处于活动状态。这在显示键盘时非常有效。但是当用户单击完成按钮并且软键盘被隐藏时,isActive(View) 仍然给出 true 并且我的 editText.setText 没有被调用。 下面是我的代码,它每 10 秒更新一次 editText。
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if(!imm.isActive(editText)){
editText.setText("10.2");
}
所以即使在用户按下软键盘的完成按钮后,这个 imm.isActive(editText) 也会返回 true。 请提出任何方法来完成这项工作。
【问题讨论】:
标签: android android-edittext android-softkeyboard simultaneous