我在一个Activity中有一个PopupWindow。 当用户按下活动中的列表项时,窗口将弹出以获取来自用户的输入。只有当用户按下按钮时,才会显示输入键盘
窗口中有一些EditText。而且我还提供了一些预设一些文本的按钮,所以当用户按下它时,它将进入编辑文本。
当窗口第一次弹出时,我可以禁用软键盘。但是当我改变edittext的焦点(从一个edittext移动到另一个edittext)时,键盘显示出来了。
我只想在用户按下弹出窗口中的“显示键盘”按钮时显示软键盘显示 我该怎么做?
更新时间:
public void onFocusChange(View view, boolean hasFocus) {
if (hasFocus) {
selectedEditText = (EditText)view;
String text = selectedEditText.getText().toString();
selectedEditText.setSelection(text.length());
InputMethodManager inputManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(selectedEditText.getWindowToken(), 0);
}
}
我想上面的代码,但它仍然显示。
我更新了我的代码,但它仍然显示焦点键盘改变了,代码是做错了什么? – Hanon 2012-04-03 04:16:04
@Hanon ..代码看起来不错..尝试调试,看看它是否被调用太.. – ngesh 2012-04-03 04:22:37
我记录了结果在if体内,身体部分已执行。我在最后添加了测试inputManager.isActive(),但它总是返回true – Hanon 2012-04-03 06:43:20