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

 更新时间:2017年04月24日 11:07:25   作者:ganchuanpu  
这篇文章主要介绍了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提高之Service用法实例解析

    Android提高之Service用法实例解析

    这篇文章主要介绍了Android的Service用法,很实用的功能,需要的朋友可以参考下
    2014-08-08
  • Android编程解析XML方法详解(SAX,DOM与PULL)

    Android编程解析XML方法详解(SAX,DOM与PULL)

    这篇文章主要介绍了Android编程解析XML方法,结合实例形式详细分析了Android解析XML文件的常用方法与相关实现技巧,需要的朋友可以参考下
    2016-01-01
  • Kotlin扩展方法超详细介绍

    Kotlin扩展方法超详细介绍

    Kotlin 可以为一个不能修改的或来自第三方库中的类编写一个新的函数。 这个新增的函数就像那个原始类本来就有的函数一样,可以用普通的方法调用,这种机制的函数称为扩展函数
    2022-09-09
  • Android应用中内嵌SQLite数据库的基本操作指南

    Android应用中内嵌SQLite数据库的基本操作指南

    这篇文章主要介绍了Android应用中内嵌SQLite数据库的基本操作指南,包括创建DAO类接口以及相关的增删查改等操作的明说,需要的朋友可以参考下
    2016-02-02
  • Android在类微信程序中实现蓝牙聊天功能的示例代码

    Android在类微信程序中实现蓝牙聊天功能的示例代码

    这篇文章主要介绍了Android在类微信程序中实现蓝牙聊天功能,本文通过实例代码给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Android使用DrawerLayout实现仿QQ双向侧滑菜单

    Android使用DrawerLayout实现仿QQ双向侧滑菜单

    这篇文章主要介绍了Android使用DrawerLayout实现仿QQ双向侧滑菜单的方法和详细代码,有需要的小伙伴可以认真参考下。
    2016-01-01
  • Jetpack Compose 双指拖拽实现详解

    Jetpack Compose 双指拖拽实现详解

    这篇文章主要为大家介绍了Jetpack Compose 双指拖拽实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Android  Retrofit和Rxjava的网络请求

    Android Retrofit和Rxjava的网络请求

    这篇文章主要介绍了Android Retrofit和Rxjava的网络请求的相关资料,需要的朋友可以参考下
    2017-03-03
  • Android中mvp模式使用实例详解

    Android中mvp模式使用实例详解

    MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负 责显示。接下来通过本文给大家分享Android中mvp模式使用实例详解,一起看看吧
    2017-04-04
  • Android 实现锚点定位思路详解

    Android 实现锚点定位思路详解

    本篇文章就使用tablayout、scrollview来实现android锚点定位的功能。通过<a href="#head" rel="external nofollow" > 去设置页面内锚点定位跳转。具体实现思路大家跟随脚本之家小编一起通过本文看下吧
    2018-07-07

最新评论