Intereting Posts
Android Studio: создание ландшафтных макетов Android Microsoft Office Library (.doc, .docx, .xls, .ppt и т. Д.) Есть ли способ получить уведомление, когда пользователь отключает устройство? Для вызова требуется разрешение, которое может быть отклонено пользователем Невозможно фильтровать активы для нескольких плотностей с использованием инструментов сборки SDK 21 или более поздней версии Android: можно ли использовать один класс SQLiteOpenHelper для нескольких файлов базы данных? Как загрузить изображение на холст HTML5 с помощью Phonegap CoordinatorLayout пользовательское поведение с AppBarLayout Удалить ключ в редакторе переводов Службы Google Play в Genymotion на Lollipop (Android 5.0) Загрузить 3d модели с помощью jPCT-AE SwitchPreference и CheckBoxPreference в коде Изменение активности перезапуска шрифтов Обработчик является абстрактным, не может быть создан Как использовать фронтальную камеру на Samsung Galaxy S

Включить и отключить кнопку в соответствии с текстом в EditText на Android

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

Может ли кто-нибудь помочь мне здесь?

Solutions Collecting From Web of "Включить и отключить кнопку в соответствии с текстом в EditText на Android"

Вы должны addTextChangedListener в свой EdiText

Как это:

 yourEditText.addTextChangedListener(new TextWatcher() { @Override public void afterTextChanged(Editable arg0) { enableSubmitIfReady(); } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } }); 

В этом методе вы должны сделать следующее:

  public void enableSubmitIfReady() { boolean isReady =yourEditText.getText().toString().length()>3; yourbutton.setEnabled(isReady); } 

Надеюсь, поможет.

Проблема с использованием afterTextChanged сама по себе при запуске приложения, она не может отключить кнопку изначально, пока вы не начнете вводить текст в EditText.

Вот как я реализовал мой, и он отлично работает. Вызовите этот метод в методе onCreate вашей активности

 void watcher(final EditText message_body,final Button Send) { final TextView txt = (TextView) findViewById(R.id.txtCounter); message_body.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) { txt.setText(message_body.length() + " / 160"); //This is my textwatcher to update character left in my EditText if(message_body.length() == 0) Send.setEnabled(false); //disable send button if no text entered else Send.setEnabled(true); //otherwise enable } public void beforeTextChanged(CharSequence s, int start, int count, int after){ } public void onTextChanged(CharSequence s, int start, int before, int count){ } }); if(message_body.length() == 0) Send.setEnabled(false);//disable at app start } 

Вы можете сделать то, что говорит @Udaykiran, но вместо этого используйте arg0.length() .

Editable также содержит длину содержимого TextEditor который был изменен