Как правильно расширить EditText, чтобы дать ему дополнительные функции «по умолчанию»

Мне интересно, можно ли добавить в EditText такую ​​функциональность, чтобы при включении моего недавно расширенного поля в XML макета мне не нужно было добавлять какой-либо код в класс Activity, чтобы заставить его вести себя определенным образом. способами.

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

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

И для ясности: мне не нужна помощь с описанной выше функцией телефона (у меня все это проработано). Я пытаюсь понять, как расширить представление таким образом, чтобы он взял на себя дополнительные функции, default, чтобы не загромождать мои действия одним и тем же кодом снова и снова.

10
задан Genia S. 22 September 2011 в 16:56
поделиться