Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Kubson
8 / 2 / 0
Регистрация: 17.07.2014
Сообщений: 253
1

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

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

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

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

Заранее огромное вам спасибо!!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.09.2015, 20:47
Ответы с готовыми решениями:

Вывести на экран "условие выполняется", если все элементы массива положительные и "условие не выполняется", если это не так.
1)Тип массива вещественный.Число элементов 11. Вывести на экран "условие...

Почему выполняется условие else, если выполнилось условие if?
При вводе буквы, которое есть в переменной word, по идеи, если такой буквы...

Если не выполняется условие в if, то не попадает в условие в else, а попадает сразу в блок catch
Всем привет) Решил выучить язык C#... наткулся на простенький пример ниже! если...

Не выполняется условие
В двух словах, надо написать программу которая проверяла бы что x^2 + y^2 = z^2...

Не выполняется условие!
Здравствуйте! подскажите пожалуйста по какой причине у меня может не...

10
Bend3r
149 / 136 / 35
Регистрация: 29.07.2012
Сообщений: 709
01.09.2015, 21:07 2
Java операция "==" обозначает сравнить ссылки. Если вы хотите сравнить два объекта по содержимому внутренности, то необходимо сравнивать методом equals.
В вашем случае:
Java
1
if (p1.getText().equals( "Пароль №1"))
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5119 / 1557 / 950
Регистрация: 23.01.2011
Сообщений: 3,187
Завершенные тесты: 1
02.09.2015, 14:20 3
Цитата Сообщение от Bend3r Посмотреть сообщение
В вашем случае:
Java
1
if (p1.getText().equals( "Пароль №1"))
а в Вашем случае:
Java
1
if ("Пароль №1".equals(p1.getText()))
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
02.09.2015, 15:02 4
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
if ("Пароль №1".equals(p1.getText()))
В принципе, без разницы, так как виджеты с текстом никогда не вернут null
0
Bend3r
149 / 136 / 35
Регистрация: 29.07.2012
Сообщений: 709
02.09.2015, 16:59 5
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
а в Вашем случае:
В чем разница?
0
androbro
344 / 304 / 68
Регистрация: 17.10.2014
Сообщений: 903
02.09.2015, 17:14 6
Цитата Сообщение от Bend3r Посмотреть сообщение
В чем разница?
разница в том, что если ссылка null и у нее попробовать вызвать equals(), то словите NPE
во втором случае мы у строки вызываем equals(), что есть более безопасно.
0
Kubson
8 / 2 / 0
Регистрация: 17.07.2014
Сообщений: 253
02.09.2015, 18:10  [ТС] 7
Спасибо вам всем большое за помощь, но все равно ничего не работает.. Условие if не выполняется..
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
02.09.2015, 21:02 8
Цитата Сообщение от Kubson Посмотреть сообщение
Условие if не выполняется..
да ну быть такого не может. покажите код. Попробуйте пароль попроще, типа "123"
0
SvetaFox
0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 2
24.10.2015, 13:47 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
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
24.10.2015, 15:07 10
SvetaFox, а что должно работать? Объясните, что не получается
0
SvetaFox
0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 2
24.10.2015, 16:10 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() в строку проверки на минус (-).
0
24.10.2015, 16:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2015, 16:10

Не выполняется условие
Задание: Сумма первой и последней цифры четырехзначного числа равна второй...

Не выполняется условие
Имеется код, где должно с веб интерфейса заноситься в таблицу значения, которые...

Не выполняется условие
Есть таблица, которая состоит из шапки и строк, теперь если прописываю в шапке...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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