dialog中的edit无法弹出输入法

来源:互联网 发布:信息科技公司 域名 编辑:程序博客网 时间:2024/06/06 04:07

对于dialog中,edittext无法显示出输入法的问题,我也是折腾了很久才搞定,

下面说一下我的解决思路:

1,首先

在代码与布局中,分别设置 edittext可以获得焦点,

if(ed!=null){    //设置可获得焦点    ed.setFocusable(true);    ed.setFocusableInTouchMode(true);    //请求获得焦点    ed.requestFocus();    //调用系统输入法    InputMethodManager inputManager = (InputMethodManager) ed            .getContext().getSystemService(Context.INPUT_METHOD_SERVICE);    inputManager.showSoftInput(ed, 0);}
然后,没有解决问题,


2,尝试 把dialog.show方法放到 setContentView方法的后面(明知道show要先调用,还去作死,)   

 还是没有解决,

3,然后各种百度,各种博客看。正在苦思中,同事大神 说遇到过,然后用他的办法完美解决,

下面直接上代码,


需要在自定义dialog中设置如下代码:

loginDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |        WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);loginDialog.getWindow().        setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |                WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);window.setContentView(view);

效果图:


0 0
原创粉丝点击