网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Android中自定义的dialog中的EditText无法弹出输入法解决方案

1.解决无法弹出输入法:

在韶关等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、网站制作 网站设计制作按需网站制作,公司网站建设,企业网站建设,品牌网站设计,成都营销网站建设,成都外贸网站制作,韶关网站建设费用合理。

在show()方法调用之前,用dialog.setView(new EditText(context))添加一个空的EditText,由于是自定义的AlertDialog,有我们指定的布局,所以设置这个不会影响我们的功能,这样就可以弹出输入法了……

2.可以弹出输入法了,但了为了增强用户体验性,当dialog中含有editText时应该,在显示dialog的同时自动弹出键盘:

(1) 可以在自定义的dialog中增加如下方法:

public void showKeyboard() { 
    if(editText!=null){ 
      //设置可获得焦点 
      editText.setFocusable(true); 
      editText.setFocusableInTouchMode(true); 
      //请求获得焦点 
      editText.requestFocus(); 
      //调用系统输入法 
      InputMethodManager inputManager = (InputMethodManager) editText 
          .getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
      inputManager.showSoftInput(editText, 0); 
    } 
}

其中editText为自定义dialog中的输入框的view

(2) 在dialog.show()后,调用这个方法显示输入法,由于在调用时可能dialog界面还未加载完成,editText 可能还为空,所以需要加上一个延时任务,延迟显示:

dialog.show(); 
Timer timer = new Timer(); 
timer.schedule(new TimerTask() { 
  
  @Override 
  public void run() { 
    dialog.showKeyboard(); 
  } 
}, 200); 

以上所述是小编给大家介绍的Android中自定义的dialog中的EditText无法弹出输入法解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对创新互联网站的支持!


网站名称:Android中自定义的dialog中的EditText无法弹出输入法解决方案
URL分享:http://bjjierui.cn/article/ieogco.html

其他资讯