Страница 1 из 1
сравнение item из string array
Добавлено: 04 июн 2014, 17:49
TemMax
Добрый день. Никак не могу понять, как выполнять сравнение из string array с какой-либо строкой.
У меня есть 2 слова в массиве. Что собственно я не могу сделать: При нажатии на кнопку, если рандомно из массива вытянуло "Нет" менять background кнопки. Если "Да", то заново менять.
бэкграунды у меня готовые все. Не могу никак с этим только разобраться.. прошу о помощи
Код: Выделить всё
<resources>
<string-array name="yesnoarr">
<item >ДА</item>
<item >НЕТ</item>
</string-array>
</resources>
Re: сравнение item из string array
Добавлено: 04 июн 2014, 18:06
Foenix
и где в данном коде сравнение?
или большие буквы - это для убедительности, а оно все равно не сравнивает?
Re: сравнение item из string array
Добавлено: 04 июн 2014, 18:15
TemMax
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);
}
}
});
Re: сравнение item из string array
Добавлено: 04 июн 2014, 18:27
Foenix
тут две части
к массиву в ресурсах обращаться примерно так
context.getResources().getStringArray(R.array.чтоувастам)
сравнение строк -
https://www.google.ru/search?client=ope ... gws_rd=ssl
Re: сравнение item из string array
Добавлено: 04 июн 2014, 18:45
TemMax
о, так и делал сравнение. Но мне показывало(ет) ошибку на context.getResources().getStringArray(R.array.yesnoarr)
не знаю, в чем проблема... возможно, в моем столь малом уровне знания java, но все же, прошу помочь с этим моментом..
Re: сравнение item из string array
Добавлено: 04 июн 2014, 19:04
Mikhail_dev
Метод equals для сравнения. Учите Java.
Re: сравнение item из string array
Добавлено: 04 июн 2014, 19:07
TemMax
Mikhail_dev писал(а):Метод equals для сравнения. Учите Java.
Что я собственно и делаю. Я использовал equals с тем, что мне написали выше. Я написал ошибку, которая у меня выскакивает
Re: сравнение item из string array
Добавлено: 04 июн 2014, 19:25
TemMax
Всем огромное спасибо!
Проблема решена довольно таки очень простым способом —
Код: Выделить всё
@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);
}
}
Тему можно закрывать.
Re: сравнение item из string array
Добавлено: 04 июн 2014, 19:30
Foenix
context - это не статическая переменная, его еще получить надо.
getActivity()
getBaseContext() и так далее.