Android关闭键盘时的一个小问题
最近遇到一个问题,拿出来跟大家分享下,并希望高手分析。
事情是这样的,我在一个新弹出的dialog里有一个输入框,希望在弹出的时候自动把软键盘打开,输入完点击确定或取消的时候把软键盘关闭。
创建dialog的代码
? AlertDialog.Builder builder=new AlertDialog.Builder(context);
? ? ? ? final AlertDialog dialog = builder.create();
点击取消的代码如下
?
btnCancel.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ dialog.cancel(); KeyBoardUtils.closeKeybord(vNum, context); } });
?这么写dialog关闭了,但是软键盘并没有关。
不知道是为什么??
看了下KeyBoardUtils.closeKeybord里的代码
InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
?用的是hideSoftInputFromWindow,从window里隐藏。我这里先把dialog cancel掉了,是不是window就没了 ??
把 dialog.cancel();和KeyBoardUtils.closeKeybord(vNum, context);换个顺序试试。。完美解决!
?
?
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。