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无法弹出输入法解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-07-31 14:05:49

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

为什么android 自定义dilog里的edittext不弹出软键盘?

问题描述 为什么android 自定义dilog里的edittext不弹出软键盘? LayoutInflater inflater = LayoutInflater.from(mContext); LinearLayout dilogview = (LinearLayout) inflater.inflate(R.layout.dilog_comment, null); final Dialog dialog = new AlertDialog.Builder(mContext).create(

Android中使用PopupWindow 仿微信点赞和评论弹出

微信朋友圈的点赞和评论功能,有2个组成部分:左下角的"更多"按钮:点击该按钮后弹出的对话框: PopupWindow,弹出框使用PopupWindow实现,这是点赞和评论的载体,具体要涉及 PopupWindow 点击非窗口位置和再次点击消失以及显示位置的问题(根据相应更多按钮的位置确定 PopupWindow 的显示位置 package com.example.cmm.helloworld; import android.app.AlertDialog; import android

android开发-Android EditText获取焦点时怎么不弹出输入法

问题描述 Android EditText获取焦点时怎么不弹出输入法 在一个activity中有多个EditText如何在点击或是获取焦点的时候,不让输入法弹出. 解决方案 参考这个 解决方案二: 给edittext设置无法获取焦点的属性: android:focusable="false" <EditText android:id="@+id/edit_text" android:layout_width="100dp" android:

android开发-求助大神 安卓开发点击edittext不弹出键盘 弹出有选项对话框

问题描述 求助大神 安卓开发点击edittext不弹出键盘 弹出有选项对话框 新手求助~ 想要点击性别的 edittext时候不出现键盘 弹出对话框像 婚否的也一样~ 希望大神帮忙 后台代码: @InjectView(R.id.et_name) EditText mName; @InjectView(R.id.et_sex) EditText mSex; @InjectView(R.id.et_age) EditText mAge; @InjectView(R.id.et_marriage) E

JS实现可自定义大小,可双击关闭的弹出层效果_javascript技巧

本文实例讲述了JS实现可自定义大小,可双击关闭的弹出层效果.分享给大家供大家参考.具体如下: 这是一款JS弹出层,可自定义大小,双击关闭层,可以弹出500,300.500,500大小的窗口,窗口弹出后,在弹出窗口内双击即可关闭鼠标.我觉得挺不错的效果,可以学习到不少的JS知识. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-define-close-able-alert-dlg-demo/ 具体代码如下: <!DOCTYPE html>

Android中自定义对话框(Dialog)的实例代码_Android

1.修改系统默认的Dialog样式(风格.主题) 2.自定义Dialog布局文件 3.可以自己封装一个类,继承自Dialog或者直接使用Dialog类来实现,为了方便以后重复使用,建议自己封装一个Dialog类  第一步: 我们知道Android定义个控件或View的样式都是通过定义其style来实现的,查看Android框架中的主题文件,在源码中的路径:/frameworks/base/core/res/res/values/themes.xml,我们可以看到,Android为Dialog定义

Android中自定义对话框(Dialog)的实例代码

1.修改系统默认的Dialog样式(风格.主题) 2.自定义Dialog布局文件 3.可以自己封装一个类,继承自Dialog或者直接使用Dialog类来实现,为了方便以后重复使用,建议自己封装一个Dialog类 第一步: 我们知道Android定义个控件或View的样式都是通过定义其style来实现的,查看Android框架中的主题文件,在源码中的路径:/frameworks/base/core/res/res/values/themes.xml,我们可以看到,Android为Dialog定义了

Android实现自定义带删除功能的EditText实例

1.说明 自定义带删除功能的EditText有两种方法,第一种是用组合视图的方法,即在一个view视图里面左侧放置一个EditText,右侧放置一个ImageView,但是这样增加了视图的层次,而且对输入内容的长度要做一定的处理. 第二种是重新定义EditText组件,增加相应的事件处理,即可达到很好的效果,效果图如下: 2.ClearEditText的JAVA类文件 /** * @说明: 自定义带删除按钮的EditText * */ public class ClearEditText ext

android EditText 设置弹出数字输入法键盘

首先设置只能输入数字: [html] view plaincopy <EditText       android:id="@+id/edit_digit_input"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:digits="1234567890."       a