gpt4 book ai didi

Android - 电子邮件 InputField 不接受用户输入

转载 作者:行者123 更新时间:2023-11-29 23:11:24 25 4
gpt4 key购买 nike

我有一个加载远程网页 ( this one ) 的 WebView,其 HTML 不受我控制。在那个页面上,有一个电子邮件字段是必需的,也许它有电子邮件验证。

当我点击该电子邮件字段以输入电子邮件地址时,Android 的键盘会出现,但当我开始输入时,它不会在其中输入任何内容。还有一些其他字段,它们也是必需的并且可能有验证,但它们可以很好地接受输入。只有电子邮件字段导致此问题。

该电子邮件字段在 Android Firefox 和 Google Chrome 中运行良好。

我的 WebView 启用了 Javascript,但它什么也没做。有谁知道我怎样才能使该电子邮件字段接受输入?

最佳答案

您的键盘不支持 WebView 中的该字段。所以你需要强制 WebView 打开默认键盘。

您必须通过扩展 WebView 类来自定义 WebView。覆盖其 onCreateInputConnection() 方法:

import android.content.Context
import android.util.AttributeSet
import android.view.inputmethod.BaseInputConnection
import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputConnection
import android.webkit.WebView

class QWebView : WebView
{
constructor(context: Context?) : super(context)
constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes)
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int, privateBrowsing: Boolean) : super(context, attrs, defStyleAttr, privateBrowsing)

override fun onCreateInputConnection(outAttrs: EditorInfo?): InputConnection
{
return BaseInputConnection(this, false)
}
}

关于Android - 电子邮件 InputField 不接受用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55979303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com