• AlertDialog中的EditText不能输入


    一、描述

    在项目中有碰到使用AlertDialog,给他设置自定义布局,自定义布局中有包含EditText,但是运行起来后发现EditText不能输入文字,没有焦点,一开始还以为是事件拦截掉了,后来试了很多方法还是不行。最后看了一下我的代码才发现,getWindow()后再设置视图,EditText是没有办法输入的。

    二、解决方法

    //之前的设置自定义视图代码,这样使用getWindow()方法设置视图的方式是不行的。
     private void showPromptDialog(String text, String function) {
            dlg = new AlertDialog.Builder(this).create();
            dlg.setCancelable(false);
            dlg.show();
            Window window = dlg.getWindow();
            window.setContentView(R.layout.cp_alertdialog_prompt);
       }

    加上这一条代码,EditText就可以正常输入了。

    dlg.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

    //正确实现方式
    private void showPromptDialog(String text, String function) {
            dlg = new AlertDialog.Builder(this).create();
            dlg.setCancelable(false);
            dlg.show();
            Window window = dlg.getWindow();
            window.setContentView(R.layout.cp_alertdialog_prompt);
         dlg.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
       }

    推荐连接 http://blog.csdn.net/junwen0814/article/details/50486007
  • 相关阅读:
    电视剧的拍摄和发行
    常用键盘快捷键
    河北省各城市名称由来
    爱情16谈
    人生赏心十六件乐事
    Android——apk反编译
    Android.mk
    Android——init可执行程序
    Android启动脚本init.rc(2)
    MountService初探
  • 原文地址:https://www.cnblogs.com/liheng-android/p/6872570.html
Copyright © 2020-2023  润新知