Заблокировать удаление символов

Интерфейс, диалоги, темы, стили, меню
Ответить
Аватара пользователя
antihawk
Сообщения: 84
Зарегистрирован: 09 июн 2013, 16:14

Заблокировать удаление символов

Сообщение antihawk » 15 сен 2015, 21:01

Здравствуйте, как заблокировать удаление первых 4 символов в editText?
То есть дописывать можно и стирать дописанный текст, а первые 4 символа должны оставаться.
Спасибо.

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Заблокировать удаление символов

Сообщение doter.ua » 15 сен 2015, 21:33

textView + editText
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Аватара пользователя
antihawk
Сообщения: 84
Зарегистрирован: 09 июн 2013, 16:14

Re: Заблокировать удаление символов

Сообщение antihawk » 15 сен 2015, 22:55

doter.ua писал(а):textView + editText
Нужно, чтобы в одной строке все было, а не отдельно.

Konstantin18ko
Сообщения: 22
Зарегистрирован: 14 авг 2015, 11:46

Re: Заблокировать удаление символов

Сообщение Konstantin18ko » 17 сен 2015, 00:15

Соглашусь с оратором 2 поста.
Используй textView + editText
Допустим тебе надо чтоб первые 4 цифры не изменялись, а все последующие были любыми и отображались в отдельном элементе:

textView.setText("8916" + editText.getText().toString());

В итоге получится так: 8916ХХХХХХХ. Там где Х любые цифры.

Аватара пользователя
antihawk
Сообщения: 84
Зарегистрирован: 09 июн 2013, 16:14

Re: Заблокировать удаление символов

Сообщение antihawk » 19 сен 2015, 14:28

Konstantin18ko писал(а):Соглашусь с оратором 2 поста.
Используй textView + editText
Допустим тебе надо чтоб первые 4 цифры не изменялись, а все последующие были любыми и отображались в отдельном элементе:

textView.setText("8916" + editText.getText().toString());

В итоге получится так: 8916ХХХХХХХ. Там где Х любые цифры.
Нужно, чтобы не в отдельном элементе это было, а в том же.
Есть editText элемент, в нем уже вписаны 4 символа "1234", при нажатии элемент активирует для редактирования, пользователь может дописывать и стирать что угодно, а эти "1234" должны оставаться неизменными.

Аватара пользователя
antihawk
Сообщения: 84
Зарегистрирован: 09 июн 2013, 16:14

Re: Заблокировать удаление символов

Сообщение antihawk » 19 сен 2015, 15:22

Нашел пример, может кому пригодится:

Код: Выделить всё

final EditText edt = (EditText) findViewById(R.id.editText1);

edt.setText("http://");
Selection.setSelection(edt.getText(), edt.getText().length());


edt.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
            if(!s.toString().contains("http://")){
                edt.setText("http://");
                Selection.setSelection(edt.getText(), edt.getText().length());

            }

        }
    });

Ответить