169 похожих чатов

Ребята подскажите как Тинькофф сделал что у них обработывает маской

телефон и текст одновременно. ??
Свои решения : патытался через TextWatcher, но append сложно сделать макску и setText меняет. клавиатуру с числовой на обычную. Не понимаю как они сделали эту магию ?

15 ответов

11 просмотров

У них был пост на Хабре про это

Илья-Федосеев Автор вопроса

они там описывают маску где можно ввести только номер (((

Вот этой либой можно сделать ввод любого текста по маске https://github.com/egslava/edittext-mask

Илья-Федосеев Автор вопроса

а если мне нужнен либо текст либо числа в маске ? как их подгонять ?

Чего подгонять? Судя по скрину, надо текствью в который можно по маске ввести и числа и буквы. Ну вот этой либе можно дать маску и дать набор символов, которые можно вводить

Илья-Федосеев Автор вопроса

мне нужно что бы можно бло написать. «askjdfasf +7(999)999-99-99»

Илья-Федосеев Автор вопроса

и после текста применялась маска

И текст, конечно, произвольной длины? Ну такого я не делал. Хотя в принципе как-то сделать можно. Но вряд ли есть готовое решение

Илья-Федосеев Автор вопроса

Готового решения не ищу )) ищу подсказку кто делал такое. Потому что setText у editText не подходит

Ну там вроде можно навешать коллбеки на EditText и слушать символы, которые вводит пользователь. От этого и плясать. Там будет что-то типа: если пользователь ввёл +7, то сразу добавляешь к тексту ещё (. Потом ждёшь ещё 3 символа и добавляешь ). На андроиде такого не делал, поэтому конкретно не подскажу что там юзается. В общем геморой тот ещё

Илья-Федосеев Автор вопроса

Примерную мысль понял , спасибо буду делать решение ))

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

Илья-Федосеев Автор вопроса

Мне проще надо любое введённое силос уже делает маску для него

А возможности поменять местами сначала телефон а потом asdasfsd нету?

Илья-Федосеев Автор вопроса

можно и наоборот задача при любов ввождеие цифр обрабатывать их как телефон

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

Обсуждают сегодня

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
А дальше что?.. Записать в файл, потом в Код?.. И потом разбирать как-то?..
Хаскель Моисеевич Гопник
14
доброго времени. db, dw и прочие исполняются при трансляции или при выполнении программы?
lutayyy
10
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
например asm AT&T ... label: .string "hi" ... # not error lea label(%rip), %rax # error ( not compile ) mov %rip, %rax # not error mov (%rip), %rax из форумов прочитал чт...
Simple Sorcerer
6
Почему никто не подсказал, что можно объявить свои типы данных, в которых меньше полей, чем в отданном джейсоне, и добавлять их по необходимости?
Strange Rabbit
10
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Есть предложения, как подобное можно упростить?
Hemul GM
12
Карта сайта