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

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

Войти
Регистрация
Восстановить пароль
 
Holy
0 / 0 / 0
Регистрация: 10.07.2010
Сообщений: 8
#1

Сравнение строковых ресурсов - Android

13.12.2013, 23:01. Просмотров 632. Ответов 7
Метки нет (Все метки)

Здравствуйте!
Не получается сравнить полученные данные, чтобы сменилась кнопка. Что я делаю не так?
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
42
43
44
45
46
47
48
49
50
51
52
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.content.Intent;
import android.widget.Button;
import android.widget.TextView;
 
public class Quest  extends Activity {
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.quest);
    }
    static final private int CHOOSE_THIEF = 0;
    
 
    public void onClick(View v) {
        Intent questionIntent = new Intent(Quest.this, ChoosActivity.class);
        startActivityForResult(questionIntent, CHOOSE_THIEF);
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        
        TextView txtPole = (TextView)findViewById(R.id.whoInfo);
        Button newTextButton = (Button)findViewById(R.id.button1);
        //String str = "?Правильно!Стремная корейская морда.?"; 
        
        if (requestCode == CHOOSE_THIEF) {
            if (resultCode == RESULT_OK) {
                String thiefname = data.getStringExtra(ChoosActivity.THIEF);
                String lalal = data.getStringExtra(ChoosActivity.LALA);
                txtPole.setText(thiefname);
                
                if(lalal == "1"){
                    newTextButton.setText("Поздравляю!");
                }
                else {
                    newTextButton.setText("Попробуй еще");                  
                }
                
                
            }else {
                txtPole.setText(""); // стираем текст
            }
        }
    }
}
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
42
43
44
45
46
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.content.Intent;
 
public class ChoosActivity extends Activity  {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.choose_window);
    }
    
    public final static String THIEF = "ru.artemsincov.TUG.THIEF";
    public final static String LALA = "ru.artemsincov.TUG.LALA";
    
    public void onRadioClick(View v) {
        Intent answerInent = new Intent();
        Intent answerInentID = new Intent();
 
        switch (v.getId()) {
        case R.id.radioDog:
            answerInent.putExtra(THIEF, "Правильно!Стремная корейская морда.");
            answerInentID.putExtra(LALA, "1");
            break;
        case R.id.radioCrow:
            answerInent.putExtra(THIEF, "Симпатишно же!");
            answerInentID.putExtra(LALA, "2");
            break;
        case R.id.radioCat:
            answerInent.putExtra(THIEF, "Страшна, но..");
            answerInentID.putExtra(LALA, "3");
            break;
            
        default:
            break;
        }
        
        setResult(RESULT_OK, answerInentID);
        setResult(RESULT_OK, answerInent);
        finish();
    }
    
    
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
14.12.2013, 10:45     Сравнение строковых ресурсов #2
ГЛОБАЛЬНАЯ ОШИБКА! Ошибка новичка... (я сам не сразу в свое время понял)

Строки сравнивают НЕ ТАК! "asdf"=="asdf" не работает! Для этого есть "asdf".equals("asdf")
Не определенная строка не равна "", а ==null
... короче погугли "Java работа со строками"
Holy
0 / 0 / 0
Регистрация: 10.07.2010
Сообщений: 8
14.12.2013, 13:31  [ТС]     Сравнение строковых ресурсов #3
Исправил на
Java
1
2
3
4
String test = "1";
 
//lalal.equals("1");
 if(lalal.equals(test))
Теперь выбрасывает из приложения..
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
14.12.2013, 14:58     Сравнение строковых ресурсов #4
Цитата Сообщение от Holy Посмотреть сообщение
Теперь выбрасывает из приложения..
Давайте стек трейс. Скорее всего NullPointerException
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 510
14.12.2013, 16:15     Сравнение строковых ресурсов #5
Зачем два раза
setResult(RESULT_OK, answerInentID);
setResult(RESULT_OK, answerInent);
Нельзя было в один запихать?
Holy
0 / 0 / 0
Регистрация: 10.07.2010
Сообщений: 8
14.12.2013, 16:20  [ТС]     Сравнение строковых ресурсов #6
Цитата Сообщение от YuraAAA Посмотреть сообщение
Давайте стек трейс. Скорее всего NullPointerException
Можно по конкретнее, что это?

Добавлено через 38 секунд
Цитата Сообщение от korsaj Посмотреть сообщение
Зачем два раза
setResult(RESULT_OK, answerInentID);
setResult(RESULT_OK, answerInent);
Нельзя было в один запихать?
Возможно, и можно было бы..2ю неделю осваиваю всего..
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 510
14.12.2013, 16:24     Сравнение строковых ресурсов #7
NullPointerException -то исключительная ситуация. Ошибки выполнения программы можно увидеть в логах.
http://startandroid.ru/ru/uroki/vse-...bschenija.html

Вот про интенты
http://startandroid.ru/ru/uroki/vse-...forresult.html
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2013, 16:25     Сравнение строковых ресурсов
Еще ссылки по теме:

Получить картинку из ресурсов Android
Android Использование ресурсов классами
Android Установка ресурсов от строки
Android Загрузка ресурсов из модуля
Android Экранировать % в строковых ресурсах

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

Или воспользуйтесь поиском по форуму:
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
14.12.2013, 16:25     Сравнение строковых ресурсов #8
Holy, Что Вам пишет студия в логи, когда приложение закрывается?
Yandex
Объявления
14.12.2013, 16:25     Сравнение строковых ресурсов
Ответ Создать тему
Опции темы

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