Форум программистов, компьютерный форум CyberForum.ru

Button (disabled/enable) - Android

Восстановить пароль Регистрация
 
Shamsik
 Аватар для Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
19.03.2016, 11:22     Button (disabled/enable) #1
Добрый день такая пробема.

Мне нужно к примеру если в input поле введен текст то сделать кнопку доступной если пусто то disabled

я в принципе сделал но он что та не работает

Java
1
2
3
4
5
6
7
8
9
inputFullName = (EditText) findViewById(R.id.name);
btnRegister = (Button) findViewById(R.id.btnRegister);
 
    if(inputFullName.length() > 0) {
        btnRegister.setEnabled(true);
    }else
    {
        btnRegister.setEnabled(false);
    }
помогите пожалуйста в чем проблема
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2016, 11:22     Button (disabled/enable)
Посмотрите здесь:

Работа с кнопкой Button Android
Android Кастомный стиль Button
Android Button для android
Android Массив button
Android Button внутри PopupWindow
Android RelativeLayout + Button
Canvas и Button Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
19.03.2016, 11:39     Button (disabled/enable) #2
Цитата Сообщение от Shamsik Посмотреть сообщение
но он что та не работает
внешне - правильно...
1) какую ошибку выдает? не перепутал липараметры/методы?
2) если ошибку не выдает, то срабатывает ли этот код в принципе??? он должен вызываться при изменении текстового поля...
Vladimir93
26 / 26 / 3
Регистрация: 28.06.2015
Сообщений: 108
19.03.2016, 12:37     Button (disabled/enable) #3
Так и не будет. TextWatcher нужно повесить.
http://stackoverflow.com/questions/8...ass-in-android
Паблито
не спать!
1881 / 1615 / 499
Регистрация: 12.05.2014
Сообщений: 5,828
Завершенные тесты: 1
19.03.2016, 13:07     Button (disabled/enable) #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        inputFullName = (EditText) findViewById(R.id.name);
        btnRegister = (Button) findViewById(R.id.btnRegister);
        if (inputFullName.getText().length() == 0) btnRegister.setEnabled(false);
 
        inputFullName.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }
 
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
            }
 
            @Override
            public void afterTextChanged(Editable s) {
                if (s.length() > 0) btnRegister.setEnabled(true);
                else btnRegister.setEnabled(false);
            }
        });
Shamsik
 Аватар для Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
19.03.2016, 13:59  [ТС]     Button (disabled/enable) #5
Спасибо все отлично работает.

Добавлено через 30 минут
Еще такой небольшой нюанс а как эту функцию использовать для 2-3 полей.

К примеру 2 input поля пусты сделать кнопку Disabled
Паблито
не спать!
1881 / 1615 / 499
Регистрация: 12.05.2014
Сообщений: 5,828
Завершенные тесты: 1
19.03.2016, 14:00     Button (disabled/enable) #6
что, вообще никаких своих мыслей?
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
19.03.2016, 14:16     Button (disabled/enable) #7
Цитата Сообщение от Shamsik Посмотреть сообщение
как эту функцию использовать для 2-3 полей
должен повесить addTextChangedListener на все поля которые хочешь "обработать"

Цитата Сообщение от Паблито Посмотреть сообщение
что, вообще никаких своих мыслей?
перед нами новичок в яве! я сам такие вопросы задавал когда начинал... и даже знание других языков не помогает самому сообразить КАК это прицепить в яве+sdk андроида...
Паблито
не спать!
1881 / 1615 / 499
Регистрация: 12.05.2014
Сообщений: 5,828
Завершенные тесты: 1
19.03.2016, 14:20     Button (disabled/enable) #8
Цитата Сообщение от Tester64 Посмотреть сообщение
перед нами новичок в яве
я называю это по-другому

к тому же я задал нормальный вопрос, пусть думает самостоятельно, вдруг получится
разжевать и положить в рот всегда успеется
Shamsik
 Аватар для Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
19.03.2016, 14:34  [ТС]     Button (disabled/enable) #9
Вот почему так грубо.


Я делал так.

Но не получилось у меня.

Вот как я сделал.



Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
        if (inputFullName.getText().length() == 0) btnRegister.setEnabled(false);
        if (inputSurname.getText().length() == 0) btnRegister.setEnabled(false);
 
 
inputFullName.addTextChangedListener(new TextWatcher()
        {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {}
 
            @Override
            public void afterTextChanged(Editable s) {
                if (s.length() == 0)
                {
                    btnRegister.setEnabled(false);
                }else
                {
                    btnRegister.setEnabled(true);
                }
            }
        });
 
        inputSurname.addTextChangedListener(new TextWatcher()
        {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {}
 
            @Override
            public void afterTextChanged(Editable s) {
                if (s.length() == 0)
                {
                    btnRegister.setEnabled(false);
                }else
                {
                    btnRegister.setEnabled(true);
                }
            }
        });
Добавлено через 1 минуту
Ну да Новичок так читал книги по Java вот хотел на java приложение для укрепление языка.

А так знаю языки (C++,PHP,Delphi,Swift)
Паблито
не спать!
1881 / 1615 / 499
Регистрация: 12.05.2014
Сообщений: 5,828
Завершенные тесты: 1
19.03.2016, 14:45     Button (disabled/enable) #10
Цитата Сообщение от Shamsik Посмотреть сообщение
Вот почему так грубо.
показалось, я имел ввиду что надо сначала попробовать что-то сделать самому
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class MainActivity extends AppCompatActivity {
 
    EditText inputFullName;
    EditText inputSurname;
    Button btnRegister;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        inputFullName = (EditText) findViewById(R.id.name);
        inputSurname = (EditText) findViewById(R.id.surname);
        btnRegister = (Button) findViewById(R.id.btnRegister);
 
        btnRegister.setEnabled(!isNameOrSurnameEmpty());
 
        inputFullName.addTextChangedListener(watcher);
        inputSurname.addTextChangedListener(watcher);
    }
 
    private final TextWatcher watcher = new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }
 
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
        }
 
        @Override
        public void afterTextChanged(Editable s) {
            btnRegister.setEnabled(!isNameOrSurnameEmpty());
        }
    };
 
    private boolean isNameOrSurnameEmpty() {
        return inputFullName.getText().length() == 0 || inputSurname.getText().length() == 0;
    }
}
создаем один слушатель и назначаем его на оба поля ввода
привожу весь код из активити, что бы было понятно где и что создается
Shamsik
 Аватар для Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
19.03.2016, 15:03  [ТС]     Button (disabled/enable) #11
Все отлично работает. Спасибо тебе.

Можно к тебе буду обращаться если возникнут какие нибудь вопросы по Java?
Паблито
не спать!
1881 / 1615 / 499
Регистрация: 12.05.2014
Сообщений: 5,828
Завершенные тесты: 1
19.03.2016, 15:05     Button (disabled/enable) #12
можно задавать вопросы тут (в этой ветке или в разделе Java), желающих помочь всегда в достатке )
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2016, 15:07     Button (disabled/enable)
Еще ссылки по теме:

Android sliding button android
Android Floating action button
Android Как в Android положить один объект (button) на другой (button)?
Button вызов Android
Android Layout, button, setVisibility

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Shamsik
 Аватар для Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
19.03.2016, 15:07  [ТС]     Button (disabled/enable) #13
Ладно. спасибо тебе за помощь, там в другой теме разметку кинул. )))
Yandex
Объявления
19.03.2016, 15:07     Button (disabled/enable)
Ответ Создать тему
Опции темы

Текущее время: 16:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru