Почему веб-представление Android отказывается от ввода данных пользователем?

Я разрабатываю приложение Android, которое использует веб-представление для отображения страницы входа в систему для Facebook. Страница загружается красиво, и я могу выбрать текстовые поля имени пользователя/пароля, но вводящий в них не будет работать. Таким образом, у них определенно есть фокус ввода (у них есть оранжевое поле выделения фокуса и высвечивающийся курсор), но вводящий в них абсолютно ничего не делает. Я не уверен, но я думаю, возможно, что кнопки формы также поддерживают - они, кажется, просто обновляют страницу, вместо того, чтобы отправляют форму.

Только, чтобы быть ясным, хотя я особенно интересуюсь получением выполнения Facebook, я уверен, что это не проблема Facebook, так как другие веб-сайты (Google, и т.д.) также отображают то же поведение.

У кого-либо есть какие-либо идеи, какова могла бы быть проблема?

36
задан rae1 1 March 2013 в 16:51
поделиться

3 ответа

Оказывается, что это было, по-видимому, WebView не имеет фокусировки, который был проблемой.

Я обнаружил, что используя клавиши со стрелками, чтобы сосредоточиться на текстовых ящиках, заставил их работать, поэтому я теореризовал, что имеется вопроса где-то с чем-то, не имеющим фокусировки, скорее всего, WebView не имеет фокусировки. Конечно, добавляя следующую строку, казалось, что, казалось, устраняет проблему:

webView.requestFocus(View.FOCUS_DOWN);

Я все еще в потере, чтобы точно объяснить, почему проблема произошла в первую очередь - текстовые коробки должны работать, получают ли они сосредоточиться на месте или через «Скачется», но, по крайней мере, у меня есть решение, которое кажется для работы.

Спасибо за ваш вклад WF.

44
ответ дан 27 November 2019 в 05:24
поделиться

Не уверены, если это проблема, так как другие веб-сайты также отображают одно и то же поведение, но вы включали JavaScript? A WebView не включает его по умолчанию.

WebView webView = (WebView)findViewById(R.id.yourWebView);
webView.getSettings().setJavaScriptEnabled(true);
2
ответ дан 27 November 2019 в 05:24
поделиться

Я столкнулся с этой проблемой, потому что я показываю заставку, когда веб-просмотр загружает первую страницу. Я устанавливаю для веб-просмотра значение View.VISIBLE в onPageFinished, однако, несмотря на то, что вы можете фокусировать текстовые поля, вы не можете их вводить. Я тоже могу подтвердить, что исправление, позволяющее установить для параметра webview requestFocus значение View.FOCUS_DOWN, работает.

NB. Если я установил для веб-просмотра значение View.VISIBLE в onResume, проблема не возникнет, но в моем случае заставка исчезнет слишком быстро.

1
ответ дан 27 November 2019 в 05:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: