现在有一个Dialog ,里面有一系列选项,点击每一选项都会隐藏当前父Dialog,然后显示子Dialog, 子Dialog 都有一个确定按扭, 当点击这个按扭时,子Dialog消失,返回到父Dialog,以进行其它选择。每个子Dialog都有一个输入框,需要每次显示这个Dialog时也同时打开软键盘,需求是软键盘是跟随子Dialog的显现和消失的。现在有个问题是,子Dialog消失后软键盘不会消失,必需父Dialog消失后才会消失,这与需求不符。我试过点击子Dialog确定按扭时不再弹出父Dialog,这样软键盘就会自动消失,但是父Dialog是必须出现的,该怎么办呢,求解决?onCreate()函数已经添加过这句代码:
getWindow().setSoftInputMode(
         WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN |
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
让软键盘弹出的代码:new Handler().postDelayed(new Runnable() {

public void run() {
InputMethodManager imm = (InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);  
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED);
}
}, 100);我试过让父Dialog等待100毫秒再出现,这种方法可以成功的隐藏软键盘,但是经理要我查明原因,为什么子Dialog消失后软键盘不会消失,这明明跟父Dialog没有关系啊!!求大虾帮忙!!谢谢!!