好的,所以我的活动需要2到6个数字输入。当用户完成时,按下按钮以启动处理,然后显示中间结果。问题是 我无法让键盘消失,它掩盖了可以显示结果的Scrollable区域。
我正在使用 confirmButton.setOnClickListener(new View.OnClickListener(){ public void onClick(查看视图){
//hide keyboard :
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
// do stuff
}
});
但这并不会隐藏键盘。 我必须使用确认按钮 - 因为某些输入是可选的。所以我不能依赖焦点改变听众或类似的。是否在按钮视图内部影响我在父窗口中隐藏键盘的能力?
还是还有其他更险恶的东西?
我可以单击后退按钮和键盘离开,或者我可以通过所有预期输入单击“下一步”然后单击键盘的“确定”但这会强制用户执行不自然的操作。
有什么想法吗?
答案 0 :(得分:4)
要隐藏软键盘,必须使用InputMethodManager。这是一个例子:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editConfirmPass.getWindowToken(), 0);