Android - Email InputField не принимает пользовательский ввод - PullRequest
1 голос
/ 04 мая 2019

У меня есть WebView, который загружает удаленную веб-страницу ( эта * ), чей HTML не находится под моим контролем.На этой странице есть поле электронной почты, которое необходимо заполнить, и, возможно, оно имеет проверку электронной почты.

Когда я нажимаю на это поле электронной почты, чтобы ввести адрес электронной почты, появляется клавиатура Android, но когда я начинаю печатать, она не 'ничего не напишите в нем.Есть также некоторые другие поля, и они также являются обязательными и, возможно, имеют проверку, но они хорошо воспринимают ввод.Эта проблема возникает только в поле электронной почты.

Это поле электронной почты прекрасно работает в Android Firefox и Google Chrome.

Javascript включен на моем WebView, но ничего не делает.Кто-нибудь знает, как я могу заставить это поле электронной почты принимать данные?

1 Ответ

1 голос
/ 28 июня 2019

Ваша клавиатура не поддерживает это поле в 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)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...