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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Kubson
-24 / 2 / 0
Регистрация: 17.07.2014
Сообщений: 253
#1

Не выполняется условие if - Android

01.09.2015, 20:47. Просмотров 307. Ответов 10
Метки нет (Все метки)

Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь?

В результате "сложных" логических исследований ошибок кода, я пришел к выводу, что у меня не выполняется одно условие if! Вот оно:
Java
1
2
if (p1.getText() == "Пароль №1") {
                p1.setText("" + intent.getStringExtra(MainActivity.key));
Текст view "Пароль №1" прописан в файле strings. Может я что-то неправильно ввел? Я пока начинающий программист, могу ошибиться...

Заранее огромное вам спасибо!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
01.09.2015, 21:07     Не выполняется условие if #2
Java операция "==" обозначает сравнить ссылки. Если вы хотите сравнить два объекта по содержимому внутренности, то необходимо сравнивать методом equals.
В вашем случае:
Java
1
if (p1.getText().equals( "Пароль №1"))
Ev[G]eN
Эксперт С++
5096 / 1534 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
02.09.2015, 14:20     Не выполняется условие if #3
Цитата Сообщение от Bend3r Посмотреть сообщение
В вашем случае:
Java
1
if (p1.getText().equals( "Пароль №1"))
а в Вашем случае:
Java
1
if ("Пароль №1".equals(p1.getText()))
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
02.09.2015, 15:02     Не выполняется условие if #4
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
if ("Пароль №1".equals(p1.getText()))
В принципе, без разницы, так как виджеты с текстом никогда не вернут null
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
02.09.2015, 16:59     Не выполняется условие if #5
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
а в Вашем случае:
В чем разница?
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
02.09.2015, 17:14     Не выполняется условие if #6
Цитата Сообщение от Bend3r Посмотреть сообщение
В чем разница?
разница в том, что если ссылка null и у нее попробовать вызвать equals(), то словите NPE
во втором случае мы у строки вызываем equals(), что есть более безопасно.
Kubson
-24 / 2 / 0
Регистрация: 17.07.2014
Сообщений: 253
02.09.2015, 18:10  [ТС]     Не выполняется условие if #7
Спасибо вам всем большое за помощь, но все равно ничего не работает.. Условие if не выполняется..
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
02.09.2015, 21:02     Не выполняется условие if #8
Цитата Сообщение от Kubson Посмотреть сообщение
Условие if не выполняется..
да ну быть такого не может. покажите код. Попробуйте пароль попроще, типа "123"
SvetaFox
0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 2
24.10.2015, 13:47     Не выполняется условие if #9
YuraAAA, Pleas help me. Don't work:
Java
1
2
if (TextUtils.isEmpty(Text1.getText().toString())
                            || TextUtils.isEmpty(Text2.getText().toString()) || (Text2.getText().equals( "-"))) { return;}
I'm begginer
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
24.10.2015, 15:07     Не выполняется условие if #10
SvetaFox, а что должно работать? Объясните, что не получается
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2015, 16:10     Не выполняется условие if
Еще ссылки по теме:

Android Передать номер из EditText в условие
Android Некорректно выполняется запрос к SQLite
Не выполняется скачивание файла - программа работает? Android
Android условие if
Не выполняется сервис android Android

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

Или воспользуйтесь поиском по форуму:
SvetaFox
0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 2
24.10.2015, 16:10     Не выполняется условие if #11
Есть 2 EditText. В первое можно ввести только положительные цифры:
XML
1
2
3
4
5
android:inputType="number"
android:digits="1234567890"/>,
во второе можно и отрицательные:
android:inputType="number"
android:digits="-1234567890"/>
,
так вот при запуске в AVD со строкой -
Java
1
|| (Text2.getText().equals( "-"))) { return;}
если во втором EditText есть только минус (-), получаю сообщение:"Unfortunately, Project has stopped" и приложение вылетает. Что то в проверке на минус не работает.

Добавлено через 33 минуты
Решено!
Java
1
2
3
4
5
6
if (TextUtils.isEmpty(Text1.getText().toString()) || TextUtils.isEmpty(Text2.getText().toString()) 
|| (Text2.getText().toString().equals( "-"))) {
   Toast toast = Toast.makeText(MainActivity.this, " Введи значение отличное от НУЛЯ",Toast.LENGTH_LONG);
   toast.show();
     return;
                    }
Нужно было добавить: toString() в строку проверки на минус (-).
Yandex
Объявления
24.10.2015, 16:10     Не выполняется условие if
Ответ Создать тему
Опции темы

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