Как активировать поле edittext
Перейти к содержимому

Как активировать поле edittext

Как активировать поле EditText в недавно добавленном элементе в RecyclerView?

У меня есть список предметов, RecyclerView в RecyclerView . Теперь эти элементы имеют в них вид EditText .

Я бы хотел активировать (установить фокус на) EditText элемента, когда он добавлен в первый раз. Как мне это сделать?

Чтобы определить релевантный вид, сохраните ссылку на вновь добавленный элемент в адаптере, и когда он будет привязан, вызовите view.requestFocus() (см. Документы).

Чтобы получить фокус и показать клавиатуру, вы должны написать что-то вроде этого:

Вы должны очистить фокус, если другой EditText получает фокус. Это можно сделать с помощью

Обратите внимание, что во всех представлениях EditText должен быть установлен их onFocusChangeListener тому же слушателю

Поле EditText не отображается

Пытаюсь сделать простое приложение для Android. Я использую андроид версии 2.3.3. Я использовал следующий код для отображения поля EditText в моем XML-файле:

Но EditText не отображается. Все остальные кнопки, текстовые представления и все остальное отображаются правильно, только EditText не отображается. Подскажите, пожалуйста, в чем проблема ??
-Заранее спасибо

задан 06 фев ’12, 03:02

Просто перезапустите Eclipse один раз. Может быть ошибка Eclipse. — Ghost

Пожалуйста, предоставьте полный код вашего xml файла. — Relsell

пожалуйста, вы можете опубликовать весь xml-код? Я думаю, что после очистки проекта он будет работать нормально. — naresh

Просто попробовал, не вышло 🙁 — Antrromet

@relsell просто проверьте, я разместил весь свой xml-файл. — Antrromet

3 ответы

пожалуйста, используйте это

Спасибо, это работает. На самом деле мой TextView был настроен на fill_parent, поэтому для EditText не осталось места. — Антрромет

Пожалуйста, добавьте пояснение к ответу. — Райан Пеллетье

Это случается, потому что текстовое представление имеет атрибут ширины как родительский / соответствующий родительскому элементу, так что текстовое представление заполняет (ширину) экрана, а затем текст редактирования выходит из видимой области. чтобы решить эту проблему, воспользуйтесь одним из следующих способов ..

установить ширину текстового просмотра как wrap_content или фиксированная ширина (например, 50dp). если вы использовали wrap_content, то снова текст редактирования может выходить за пределы видимой области, в зависимости от текста в текстовом представлении.

набор как текстовый просмотр, так и редактирование ширины текста as layout_width = «match_parent» и добавить еще один атрибут layout_weight = «1». теперь и текстовый просмотр, и редактируемый текст в равной степени разделяют ширину родительского элемента.

Редактирование текста в Xamarin.Android

В этом разделе вы будете использовать мини-приложение EditText для создания текстового поля для ввода данных пользователем. После ввода текста в поле клавиша ВВОД отобразит текст в всплывающем сообщении.

Откройте resources/layout/activity_main.axml и добавьте элемент EditText в содержащий макет. Следующий пример activity_main.axml содержит добавленный EditText в LinearLayout a:

В этом примере EditText кода атрибут android:imeOptions имеет значение actionGo . Этот параметр изменяет действие Done по умолчанию на действие Go , чтобы нажатие клавиши ВВОД активировало KeyPress обработчик ввода. (Как правило, используется для того, actionGo чтобы клавиша ВВОД перенацелила пользователя на целевой URL-адрес, введенный в.)

Чтобы обработать ввод текста пользователя, добавьте следующий код в конец метода OnCreate в Файле MainActivity.cs:

Кроме того, добавьте следующую using инструкцию в начало файла MainActivity.cs , если он еще не существует:

Этот пример кода увеличивает элемент EditText из макета и добавляет обработчик KeyPress , который определяет действие, выполняемое при нажатии клавиши, пока мини-приложение имеет фокус. В этом случае метод определяется для прослушивания клавиши ВВОД (при касании), а затем всплывающего сообщения с введенным текстом. Обратите внимание, что свойство Handled всегда должно быть true , если событие обработано. Это необходимо, чтобы предотвратить появление события (что приведет к возврату каретки в текстовом поле).

Запустите приложение и введите текст в текстовое поле. При нажатии клавиши ВВОД всплывающее уведомление будет отображаться, как показано справа:

Examples of entering text into EditText

Части этой страницы являются изменениями на основе работы, созданной и общей Project Android с открытым кодом и используемой в соответствии с условиями, описанными влицензии Attribution 2.5. Это руководство основано на учебнике по form Stuff дляAndroid.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *