как установить не редактируемые другие EditTexts после ввода в одном из них? - PullRequest
0 голосов
/ 29 апреля 2018

В моем приложении четыре EditTexts

и хотите стать недоступными для редактирования всех трех других правок, как только мы напишем в одном из них?

как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2018

Вы можете добавить TextChangedListener к EditText с, и это будет срабатывать каждый раз, когда изменяется текст соответствующего EditText.

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

editText.setInputType(InputType.TYPE_NULL);

Таким образом, весь ваш код будет:

editText1.addTextChangedListener(new TextWatcher() {

   public void afterTextChanged(Editable s) {
       editText2.setInputType(InputType.TYPE_NULL);
       editText3.setInputType(InputType.TYPE_NULL);
       editText4.setInputType(InputType.TYPE_NULL);
   }

   public void beforeTextChanged(CharSequence s, int start,
     int count, int after) {
   }

   public void onTextChanged(CharSequence s, int start,
     int before, int count) {

   }
});

И тот же код будет использоваться для оставшихся 3 EditText с.

0 голосов
/ 29 апреля 2018

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

field1.addTextChangedListener(new TextWatcher() {

   public void afterTextChanged(Editable s) {
    // now check if text is not empty disable field 2, 3 ,4. 
   }

   public void beforeTextChanged(CharSequence s, int start,
     int count, int after) {
   }

   public void onTextChanged(CharSequence s, int start,
     int before, int count) {

   }
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...