Dialog自动弹出软键盘

本文介绍了解决Android Dialog中EditText无法自动弹出软键盘的问题。通过设置EditText的焦点属性并利用Timer异步显示软键盘,确保了用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android在拥有EdittExt的Activity界面,一般都会自动弹出键盘,有时我们需要设置EdittExt的一个父View来设置他们的
android:focusable=”true”
android:focusableInTouchMode=”true”即可。

而在Dialog中,他不会自动弹出键盘,我们呢又需要他自动弹出来。所以就有了这样一个问题。解决方案如下:

final EditText mETPassWord = (EditText) layout.findViewById(R.id.et_dialog_confirmphoneguardpswd);
        mETPassWord.setFocusable(true);
        mETPassWord.setFocusableInTouchMode(true);
        mETPassWord.requestFocus();
        Timer timer = new Timer();
        //用TImer定时器异步加载是考虑到在Dialog初始化完成之前调用showSoftInput方法不会生效,
        timer.schedule(new TimerTask() {
            public void run() {
                InputMethodManager inputManager = (InputMethodManager) mETPassWord.getContext()
                        .getSystemService(Context.INPUT_METHOD_SERVICE);
                inputManager.showSoftInput(mETPassWord, 0);
            }
        }, 500);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值