我有一些代码:
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0, new ResultReceiver(null) {
@Override
protected void onReceiveResult(int resultCode, Bundle resultData) {
keyboardClosed();
}
});
但是,在4.3模拟器上运行此操作时,永远不会调用onReceiveResult()
方法。
我确定我做错了什么,但看不出来......
任何人都可以向我提供有关如何正确执行此操作或为何无法正常工作的一些详细信息吗?
答案 0 :(得分:6)
ResultReceiver
返回hideSoftInputFromWindow
,则不会调用 false
。
您可以查看此值:
boolean hide = inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0, new ResultReceiver(null) {
@Override
protected void onReceiveResult(int resultCode, Bundle resultData) {
keyboardClosed();
}
});
if (!hide) {
// already hidden
keyboardClosed();
}