сравнение item из string array

Закрыто
TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

сравнение item из string array

Сообщение TemMax » 04 июн 2014, 17:49

Добрый день. Никак не могу понять, как выполнять сравнение из string array с какой-либо строкой.
У меня есть 2 слова в массиве. Что собственно я не могу сделать: При нажатии на кнопку, если рандомно из массива вытянуло "Нет" менять background кнопки. Если "Да", то заново менять.
бэкграунды у меня готовые все. Не могу никак с этим только разобраться.. прошу о помощи :roll:

Код: Выделить всё

    <resources>
        <string-array name="yesnoarr">
            <item >ДА</item>
            <item >НЕТ</item>
        </string-array>
    </resources>

Аватара пользователя
Foenix
Сообщения: 4200
Зарегистрирован: 20 окт 2012, 12:01

Re: сравнение item из string array

Сообщение Foenix » 04 июн 2014, 18:06

и где в данном коде сравнение?
или большие буквы - это для убедительности, а оно все равно не сравнивает?
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: сравнение item из string array

Сообщение TemMax » 04 июн 2014, 18:15

Foenix писал(а):и где в данном коде сравнение?
или большие буквы - это для убедительности, а оно все равно не сравнивает?
Спасибо за столь быструю реакцию, но простите, вы не так поняли :)
Не могу понять, как написать в самой activity сравнение... Пробовал несколько способов..и гугл спрашивал.. Но там ничего не нашел.
Думаю, что-то типа:

Код: Выделить всё

final Button bbtnRandom = (Button) findViewById(R.id.bbtnRandom);
        
        bbtnRandom.setOnClickListener(new View.OnClickListener() {
		
			@Override
			public void onClick(View v) {

				Resources res = getResources();

			    myarr = res.getStringArray(R.array.yesnoarr); 

			    String answer = myarr[rgenerator.nextInt(myarr.length)];
			    bbtnRandom.setText(answer);
			    
				if (answer.getBytes().toString()) { // в этой строке моя проблема... Не знаю, как создать условие if (. . . = "НЕТ") тогда чтобы выполнялся код ниже (т.е. замена бэкграунда кнопки)..
					
				findViewById(R.drawable.buttonshapeno);
				bbtnRandom.setBackgroundResource(R.drawable.buttonshapeno);
				}
			}
		});

Аватара пользователя
Foenix
Сообщения: 4200
Зарегистрирован: 20 окт 2012, 12:01

Re: сравнение item из string array

Сообщение Foenix » 04 июн 2014, 18:27

тут две части
к массиву в ресурсах обращаться примерно так
context.getResources().getStringArray(R.array.чтоувастам)

сравнение строк -
https://www.google.ru/search?client=ope ... gws_rd=ssl
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: сравнение item из string array

Сообщение TemMax » 04 июн 2014, 18:45

Foenix писал(а):тут две части
к массиву в ресурсах обращаться примерно так
context.getResources().getStringArray(R.array.чтоувастам)

сравнение строк -
https://www.google.ru/search?client=ope ... gws_rd=ssl

о, так и делал сравнение. Но мне показывало(ет) ошибку на context.getResources().getStringArray(R.array.yesnoarr)
не знаю, в чем проблема... возможно, в моем столь малом уровне знания java, но все же, прошу помочь с этим моментом..

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: сравнение item из string array

Сообщение Mikhail_dev » 04 июн 2014, 19:04

Метод equals для сравнения. Учите Java.

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: сравнение item из string array

Сообщение TemMax » 04 июн 2014, 19:07

Mikhail_dev писал(а):Метод equals для сравнения. Учите Java.
Что я собственно и делаю. Я использовал equals с тем, что мне написали выше. Я написал ошибку, которая у меня выскакивает

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: сравнение item из string array

Сообщение TemMax » 04 июн 2014, 19:25

Всем огромное спасибо!
Проблема решена довольно таки очень простым способом —

Код: Выделить всё

@Override
			public void onClick(View v) {
			//	String answer = (yesno[new Random().nextInt(yesno.length)]);
			//	bbtnRandom.setText(answer);
				Resources res = getResources();

			    myarr = res.getStringArray(R.array.yesnoarr); 
			    String answer = myarr[rgenerator.nextInt(myarr.length)];
			    bbtnRandom.setText(answer);	   
					
			    String yes = new String("ДА");
			    String no = new String("НЕТ");
			    
			    if(answer.equals(yes)) { 
					findViewById(R.drawable.buttonshapeyes);
					bbtnRandom.setBackgroundResource(R.drawable.buttonshapeyes);
					}
			    
			    if(answer.equals(no)) {
			    	findViewById(R.drawable.buttonshapeno);
			    	bbtnRandom.setBackgroundResource(R.drawable.buttonshapeno);
			    	}

				}
Тему можно закрывать.

Аватара пользователя
Foenix
Сообщения: 4200
Зарегистрирован: 20 окт 2012, 12:01

Re: сравнение item из string array

Сообщение Foenix » 04 июн 2014, 19:30

context - это не статическая переменная, его еще получить надо.
getActivity()
getBaseContext() и так далее.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Закрыто