Android edittext удалить последний символ

EditText

Компонент EditText — это текстовое поле для пользовательского ввода, которое используется, если необходимо редактирование текста. Следует заметить, что EditText является наследником TextView.

В Android Studio на панели инструментов текстовые поля можно найти в категории Texts под разными именами.

Для быстрой разработки текстовые поля снабдили различными свойствами и дали разные имена: Plain Text, Person Name, Password, Password (Numeric), E-mail, Phone, Postal Address, Multiline Text, Time, Date, Number, Number (Signed), NumberDecimal.

Plain Text

Plain Text — самый простой вариант текстового поля без наворотов. При добавлении в разметку его XML-представление будет следующим:

Person Name

При использовании элемента Person Name в XML добавляется атрибут inputType, который отвечает за вид клавиатуры (только буквы) при вводе текста.

Password и Password (Numeric)

При использовании Password в inputType используется значение textPassword. При вводе текста сначала показывается символ, который заменяется на звёздочку. Если используется элемент Password (Numeric), то у атрибута inputType используется значение numberPassword. В этом случае на клавиатуре будут только цифры вместо букв. Вот и вся разница.

E-mail

У элемента E-mail используется атрибут android:inputType=»textEmailAddress». В этом случае на клавиатуре появляется дополнительная клавиша с символом @, который обязательно используется в любом электронном адресе.

Phone

У элемента Phone используется атрибут android:inputType=»phone». Клавиатура похожа на клавиатуру из старого кнопочного сотового телефона с цифрами, а также с кнопками звёздочки и решётки.

Postal Address

Multiline Text

У Multiline Text используется атрибут android:inputType=»textMultiLine» позволяющий сделать текстовое поле многострочным. Дополнительно можете установить свойство Lines (атрибут android:lines), чтобы указать количество видимых строк на экране.

Time и Date

Атрибут android:inputType=»time» или android:inputType=»date». На клавиатуре цифры, точка, запятая, тире.

Number, Number (Signed), Number (Decimal)

Атрибут android:inputType=»number» или numberSigned или numberDecimal. На клавиатуре только цифры и некоторые другие символы.

Текст-подсказка

Веб-мастера знают о таком атрибуте HTML5 как placeholder, когда в текстовом поле выводится строчка-подсказка приглушенным (обычно серым цветом). Живой пример приведён ниже.

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

В Android у многих элементов есть свойство Hint (атрибут hint), который работает аналогичным образом. Установите у данного свойства нужный текст и у вас появится текстовое поле с подсказкой.

Запускаем приложение и видим подсказку, которая исчезает при попытке ввести текст.

Вызов нужной клавиатуры

Не во всех случаях нужна стандартная клавиатура с буковками и цифрами. Если вы пишете калькулятор, то проще показать пользователю цифровую клавиатуру. А если нужно ввести электронный адрес, то удобнее показать клавиатуру, где уже есть символ @. Ну а если ваше приложение пишется для котов, то достаточно вывести только те буквы, из которых можно составить слова Мяу и Жрать давай (к сожалению, такой клавиатуры ещё нет, но Google работает в этом направлении).

Читайте также:  Приставка андроид гугл плей

У элемента EditText на этот случай есть атрибут inputType:

В данном случае с атрибутом inputType=»textCapWords&quot каждый первый символ каждого слова при вводе текста автоматически будет преобразовываться в прописную. Удобно, не так ли?

Значение textCapSentences делает прописным каждый первый символ предложения.

Если вам нужен режим CapsLock, то используйте значение textCapCharacters и все буквы сразу будут большими при наборе.

Для набора телефонного номера используйте phone, и тогда вам будут доступны только цифры, звёздочка (*), решётка (#).

Для ввода веб-адресов удобно использовать значение textUri. В этом случае у вас появится дополнительная кнопочка .com (при долгом нажатии на нее появятся альтернативные варианты .net, .org и др.).

Вот вам целый список доступных значений (иногда различия очень трудно различимы)

Интерфейс InputType

Кроме использования атрибута android:inputType мы можем добиться нужного поведения от текста при помощи интерфейса InputType.

Атрибут android:imeOptions — параметры для текущего метода ввода

У текстовых полей есть атрибут android:imeOptions, с помощью которого настраиваются параметры для текущего метода ввода. Например, когда EditText получает фокус и отображается виртуальная клавиатура, эта клавиатура содержит кнопку «Next» (Далее), если атрибут android:imeOptions содержит значение actionNext. Если пользователь касается этой кнопки, фокус перемещается к следующему компоненту, который принимает пользовательский ввод. Если компонент EditText получает фокус и на виртуальной клавиатуре появляется кнопка «Done» (Готово), значит использовался атрибут android:imeOptions со значением actionDone. Как только пользователь касается этой кнопки, система скрывает виртуальную клавиатуру.

Заблокировать текстовое поле

Для блокировки текстового поля присвойте значения false свойствам Focusable, Long clickable и Cursor visible.

Другие свойства

Методы

Основной метод класса EditTextgetText(), который возвращает текст, содержащийся в текстовом поле. Возвращаемое значение имеет специальный тип Editable, а не String.

Соответственно, для установки текста используется метод setText().

В Kotlin может возникнуть проблема, если программист захочет использовать конструкцию присвоения через свойство.

Большинство методов для работы с текстом унаследованы от базового класса TextView: setTypeface(null, Typeface), setTextSize(int textSize), SetTextColor(int Color).

Выделение текста

У EditText есть специальные методы для выделения текста:

  • selectAll() — выделяет весь текст;
  • setSelection(int start, int stop) — выделяет участок текста с позиции start до позиции stop;
  • setSelection(int index) — перемещает курсор на позицию index;

Предположим, нам нужно выделить популярное слово из трёх букв в большом слове (это слово «кот», а вы что подумали?).

Ещё есть метод setSelectAllOnFocus(), который позволяет выделить весь текст при получении фокуса.

Обработка нажатий клавиш

Для обработки нажатий клавиш необходимо зарегистрировать обработчик View.OnKeyListener, используя метод setOnKeyListener() элемента EditText. Например, для прослушивания события нажатия клавиши Enter во время ввода текста пользователем (или котом), используйте следующий код:

Пустой ли EditText

Чтобы проверить, пустой ли EditText, можно воспользоваться кодом:

Также можно проверять длину текста, если она равно 0, значит текст пуст.

Превращаем EditText в TextView

Практического смысла тут нет, но для общего развития превратим текстовое поле в текстовую метку. Для этого нужно сделать компонент недоступным, убрать курсор, установить прозрачный фон и отключить слушатель нажатий клавиш.

Также можно установить эти свойства через XML, кроме последнего пункта.

Читайте также:  Hotspot shield vpn crack android

Дополнительное чтение

Beware EditText on API 21 — разница между версиями 21 и 22

Источник

как удалить символ из edittext?

Я хочу знать, есть ли способ, с помощью которого я могу удалить определенный символ из EditText . Я хочу удалить чартер из EditText путем указания позиции в тексте редактирования есть что-то вроде removeAt() на EditText ?

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

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

проблема в том, что я получаю двойной символ-это обычный символ, а затем снова жирный, поэтому я хочу удалить эти обычные символы, указав там позицию

4 ответов

сначала вы должны изменить его на string, потому что getText возвращает редактируемый, e.g:

чтобы удалить символ и сохранить жирные символы одинаковыми:

это удалит символы из индекса «indexStart»в» indexEnd -1″. например, если вы используете delete (0,1); он удалит первый символ.

надеюсь, это поможет:)

моя реализация приведена ниже. Надеюсь, это будет полезно

EditText , как и любой другой TextView , но его также можно редактировать. Поэтому вы можете использовать getText() метод, сохраните его как String , удалите нужный символ и вызовите setText(str) метод EditText изменить текст.

получить входные данные из EditText и сохранить в строке.

Теперь манипулируйте этой строкой temp, чтобы удалить символ в нужной позиции. (Я предлагаю вам использовать

Источник

Удалить последний символ полей EditText

У меня есть короткий вопрос.

У меня есть экран с некоторыми цифрами, когда вы нажимаете на одну из них, она добавляется в конец редактируемого текста.

У меня также есть задняя кнопка, когда пользователь нажимает эту кнопку, Я хочу удалить последний символ.

На данный момент у меня есть следующее :

Есть ли более простой способ сделать это ? Что-то в линии input.remove()?

2 ответа

У меня есть маленький скрипт php, который удаляет последний символ файла. $contents = file_get_contents($path); rtrim($contents); $contents = substr($contents, 0, -1); $fh = fopen($path, ‘w’) or die(can’t open file); fwrite($fh, $contents); fclose($fh); Таким образом, он считывает содержимое.

У меня возникли некоторые проблемы с попыткой удалить последний символ NSString. Я вроде как новичок в Objective-C и понятия не имею, как это сделать. Не могли бы вы, ребята, зажечь меня?

Я понимаю, что это старый вопрос, но он все еще актуален. Если вы обрезаете текст самостоятельно, курсор будет сброшен в начало, когда вы setText(). Поэтому вместо этого (как упоминалось в njzk2) отправьте поддельное событие удаления ключа, и пусть платформа обработает его за вас.

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

StringX Varchar(30); StringX — это не столбец в таблице . У меня есть StringX = ‘He is Teacher , ‘ Как я могу удалить последний символ (,)?

Я хочу знать, есть ли какой-либо метод, с помощью которого я могу удалить конкретный символ из EditText . Я хочу удалить чартер из EditText , указав позицию в редактируемом тексте , есть ли что-то.

Как удалить последний символ строки с помощью substring или чего-то еще ? Например; var query : String; begin query:= ‘test=1&line=5&’; end; Выход должен быть : query -> test1&line=5

У меня есть маленький скрипт php, который удаляет последний символ файла. $contents = file_get_contents($path); rtrim($contents); $contents = substr($contents, 0, -1); $fh = fopen($path, ‘w’) or.

Читайте также:  Как удалить предустановленное по android

У меня возникли некоторые проблемы с попыткой удалить последний символ NSString. Я вроде как новичок в Objective-C и понятия не имею, как это сделать. Не могли бы вы, ребята, зажечь меня?

Как я могу удалить последний символ из ввода в JQuery? Например, onclick чего-то, он удаляет последний символ (запятую в моем случае) из поля ввода.

Возможный Дубликат : удалить последний символ из строки Я хочу удалить последний символ в тексте.. Например Моя строка: example text Во-вторых : example tex Как?

Допустим, моя строка имеет длину 10 символов. Как удалить последний символ? Если моя строка равна abcdefghij (я не хочу заменять символ ‘j’ , так как моя строка может содержать несколько символов.

Как удалить первый и последний символ из std::string, я уже делаю следующий код. Но этот код удаляет только последний символ m_VirtualHostName = m_VirtualHostName.erase(m_VirtualHostName.size() — 1).

я пытаюсь удалить последний символ массива. У меня есть массив с: ФИО1; ФИО2; Теперь я хочу удалить последнее ;. Я хотя бы на чем-то вроде: $array = $array | Select -last 1 | foreach<$_.replace(;.

Источник

Android EditText-удалить последнюю букву С помощью кнопки

У меня есть кнопки, которые записывают A и B в edittext. Если в редактируемом тексте что-то есть, как я могу удалить последние буквы с помощью кнопки «Del»? Мой макет:

Поэтому я хочу сделать это. Пожалуйста, помогите мне! Заранее спасибо.

4 ответа

У меня есть кнопки, которые записывают A и B в edittext. Если в редактируемом тексте что-то есть, как я могу удалить последние буквы с помощью кнопки Del ? Мой макет:

Да, вы можете создать onClickListener и просто получить текст из edit text и удалить последний символ.

Edit: также не забудьте проверить, что длина строки больше 0, прежде чем делать это в том случае, если a или b не были нажаты, когда пользователь нажимает delete.

Установка нового text#1

Установка нового text#2

Удаление нежелательных удаление ключевого события.

У меня есть проблема с WebView , я использую zsseditor с WebView , чтобы показать, ввести текст с клавиатуры, вставить изображение или видео. И потом, я не могу удалить последнюю букву в абзаце (почти не могу удалить тег image html). И я решил эту проблему с помощью CustomWebview, чтобы удалить.

одним из ограничений другого ответа является то, что если курсор не находится в последней позиции, то и он удаляет последний символ, что ограничение снимается в этом ответе Запишите у себя по нажатию кнопки

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

Возможный Дубликат : Android этикетки или пузырьки в EditText Как я могу поставить кнопки на EditText вот так: Я только нахожу, как поставить ‘X’ в конце EditText , но я не мог понять, как.

У меня есть некоторый сценарий, чтобы удалить первую и последнюю букву строки, Если данная строка совпадает. Дайте строка $ в этом случае. Пример: $test 1 sql server$ $ $test 2 sql server test 3 sql.

На одном из устройств, которые я использую для тестирования (HTC One S, Если это имеет значение), курсор EditText будет перекрывать последнюю букву, а не располагаться сразу после нее. На.

У меня есть кнопки, которые записывают A и B в edittext. Если в редактируемом тексте что-то есть, как я могу удалить последние буквы с помощью кнопки Del ? Мой макет:

Источник

Оцените статью