Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

13.12.2013, 23:01. Просмотров 669. Ответов 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();
    }
    
    
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2013, 23:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сравнение строковых ресурсов (Программирование Android):

Экранировать % в строковых ресурсах - Программирование Android
Здравствуйте, всем... У меня строковый ресурс: <string name="all_trys">All trys: \n %1$d (%2$d)</string> Должно выводить...

Получение сохранённых строковых данных - Программирование Android
Как из сохранённых EditText элементов вытянуть строки в другом классе. Вот код. Нужно отсюда: package ru.project.testinfomats; ...

смена ресурсов - Программирование Android
здравствуйте, есть код but.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View...

Хранение ресурсов - Программирование Android
Здравствуйте! Я недавно начала писать приложение под Android. Опыта у меня немного и я столкнулась с проблемой. Допустим, я хочу...

Обращение к файлу ресурсов - Программирование Android
Всем доброго времени суток. У меня вопрос как можно, и можно ли, обратиться к файлу ресурса моего приложения (изображение) для его...

Установка ресурсов от строки - Программирование Android
Есть у меня главное активити: public class MainActivity extends AppCompatActivity { private static ImageView actionBarWifi; ...

7
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
14.12.2013, 10:45 #2
ГЛОБАЛЬНАЯ ОШИБКА! Ошибка новичка... (я сам не сразу в свое время понял)

Строки сравнивают НЕ ТАК! "asdf"=="asdf" не работает! Для этого есть "asdf".equals("asdf")
Не определенная строка не равна "", а ==null
... короче погугли "Java работа со строками"
0
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))
Теперь выбрасывает из приложения..
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
14.12.2013, 14:58 #4
Цитата Сообщение от Holy Посмотреть сообщение
Теперь выбрасывает из приложения..
Давайте стек трейс. Скорее всего NullPointerException
0
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 515
14.12.2013, 16:15 #5
Зачем два раза
setResult(RESULT_OK, answerInentID);
setResult(RESULT_OK, answerInent);
Нельзя было в один запихать?
0
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ю неделю осваиваю всего..
0
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 515
14.12.2013, 16:24 #7
NullPointerException -то исключительная ситуация. Ошибки выполнения программы можно увидеть в логах.
http://startandroid.ru/ru/uroki/vse-...bschenija.html

Вот про интенты
http://startandroid.ru/ru/uroki/vse-...forresult.html
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
14.12.2013, 16:25 #8
Holy, Что Вам пишет студия в логи, когда приложение закрывается?
0
14.12.2013, 16:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2013, 16:25
Привет! Вот еще темы с ответами:

Использование ресурсов классами - Программирование Android
В приложении есть кнопка и TextView. Пользователь жмёт клавишу. После нажатия клавиши я хочу, чтобы создался объект другого класса...

Получить массив из ресурсов - Программирование Android
String names = getResources().getStringArray(R.array.names); без этой строчки приложения запускается, с ней нет. еклипс красным не...

Получить картинку из ресурсов - Программирование Android
Вот так приложение получает иконку: android:icon="@drawable/ic_launcher" Вопрос: Как получить картинку так-же, только программно и в...

Взять массив из ресурсов - Программирование Android
Как такой массив взять из getResources private static final String CONTENT = new String { "Раз", "Два", "Три",...


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

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

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