android– 在对话框中触发EditText的软键盘的任何无痛方法?

android– 在对话框中触发EditText的软键盘的任何无痛方法?,第1张

概述我将EditText渲染为列表样式AlertDialog的一个元素(由默认的ListView实现支持).我有点期望这种情况不会改变EditText的行为,但确实如此:点击EditText不再产生软键盘.经过一个小时的焦点设置和点击处理程序后,我厌倦了并调试到InputMethodManager.showSoftInput(),并发现:publi

我将EditText渲染为列表样式AlertDialog的一个元素(由默认的ListVIEw实现支持).我有点期望这种情况不会改变EditText的行为,但确实如此:点击EditText不再产生软键盘.

经过一个小时的焦点设置和点击处理程序后,我厌倦了并调试到inputMethodManager.showSoftinput(),并发现:

    public boolean showSoftinput(VIEw vIEw, int flags,        ResultReceiver resultReceiver) {        ...        if (mServedVIEw != vIEw && (mServedVIEw == null                || !mServedVIEw.checkinputConnectionProxy(vIEw))) {            return false;        }        ...    }}

这里的问题是mServedVIEw是支持对话框的ListVIEw,而vIEw是EditText,而ListVIEw.checkinputConnectionProxy()只是在ListVIEw的默认实现中返回false(被子类覆盖).

更糟糕的是,我找不到设置自定义ListVIEw的方法,该ListVIEw允许代理IME请求; AlertDialog.Builder.setVIEw()接受自定义ListVIEw,但这不是inputMethodManager看到的ListVIEw.

有什么建议如何解决这个问题?

解决方法:

你有没有试过这样的事情,如果你有道歉的话

getBaseContext().getwindow().setSoftinputMode(WindowManager.LayoutParams.soFT_input_STATE_ALWAYS_VISIBLE);
总结

以上是内存溢出为你收集整理的android – 在对话框中触发EditText的软键盘的任何无痛方法?全部内容,希望文章能够帮你解决android – 在对话框中触发EditText的软键盘的任何无痛方法?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存