Страница 1 из 1
listView, возможно
Добавлено: 25 фев 2014, 12:55
IriDolG
Работаю над игрой и столкнулась с такой проблемой.
На игровом экране выводятся строки с описанием предмета, а игрок выбирает из предложенных ему нескольких вариантов предметов (в виде кнопок или listView) нужный. Как можно связать строки и предмет из списка? Можно ли, учитывая количество уже выведенных строк с описанием, показывать ту или иную информацию игроку? И последнее - как сделать так, чтобы описания предметов (соответственно, и список самих предметов) выводились случайно?
Re: listView, возможно
Добавлено: 25 фев 2014, 13:56
Foenix
вы уроки вообще не читали?
Re: listView, возможно
Добавлено: 25 фев 2014, 14:37
IriDolG
Читала, почти все.
Re: listView, возможно
Добавлено: 25 фев 2014, 21:07
Foenix
странно..
Re: listView, возможно
Добавлено: 26 фев 2014, 05:14
IriDolG
С помощью какого метода\ов вышенаписанное делается? Чтобы более пристально мне изучить.
Re: listView, возможно
Добавлено: 26 фев 2014, 06:56
Foenix
1 что нужно сделать - определиться с тем, что вам нужно. Сколько и каких предметов, какими свойствами они обладают, будет ли меняться их количество, куда внести информацию о них - в массив строк, таблицу базы данных или еще куда-то, как вывести их - в виде листвью или кнопочек.. в каком виде будет выдаваться информация..
Я этого пока из вашего описания не вижу, поэтому ответить на вопрос - сложно.
Если навскидку почитать - уроки о листвью, хранении данных, диалоговых окнах и активити.
Re: listView, возможно
Добавлено: 26 фев 2014, 11:18
IriDolG
Нужно каким-то образом сгруппировать свойства по массивам строк (по 5 на предмет), чтобы при нажатии на предмет из listView игрок информировался, правильно он указал или нет. Как вот мне связать массивы строк свойств с массивами строк предметов? Или другими словами, чтобы каждый предмет имел 5 свойств. В уроках не нашла подобной информации((
Re: listView, возможно
Добавлено: 26 фев 2014, 11:37
adarash
IriDolG писал(а):Нужно каким-то образом сгруппировать свойства по массивам строк (по 5 на предмет), чтобы при нажатии на предмет из listView игрок информировался, правильно он указал или нет. Как вот мне связать массивы строк свойств с массивами строк предметов? Или другими словами, чтобы каждый предмет имел 5 свойств. В уроках не нашла подобной информации((
Это не уроки. Это ООП. ООП здесь не учат.
Что тебе нужно:
1. Создать класс с свойствами нужными.
Код: Выделить всё
public class LotSimple {
public String name, pic, url, price;
public int num;
public LotSimple(String name, String pic, String url, String price, int num) {
this.name = name;
this.pic = pic;
this.url = url;
this.price = price;
this.num = num;
}
}
что - то в этом роде.
2. При создании вьюшки в адаптере создать и присвоить ему подобный класс
создание:
Код: Выделить всё
LotSimple date = new LotSimple(name, pic, url, price, num)
присвоение:
3. Когда на нее нажимаешь можешь получить этот класс
Код: Выделить всё
public void onClick(View v) {
LotSimple date = (LotSimple) v.getTag();
if (a != null) {
//и здесь бери с этого класса все свойства которые тебе нужны и делай что тебе хочется
}
}
Re: listView, возможно
Добавлено: 26 фев 2014, 12:46
IriDolG
Спасибо, интересно! А как вообще получается рандомность вызова свойств? Что то вроде генератора случайных чисел? Для того, чтобы при создании активити каждый раз появлялся разный текст из массивов.
Re: listView, возможно
Добавлено: 26 фев 2014, 13:43
adarash
Рандомность - это у тебя в коде. Какой объект присвоишь - такой и получишь.
Re: listView, возможно
Добавлено: 26 фев 2014, 14:41
IriDolG
Так ведь есть ГСЧ - его каким-то образом прописывают.
И такой еще вопрос - реально ли при создании GameActivity сразу же записать в БД данные свойств и предметов, возможно, в этом будет решение проблемы?
Re: listView, возможно
Добавлено: 26 фев 2014, 15:03
adarash
IriDolG писал(а):Так ведь есть ГСЧ - его каким-то образом прописывают.
И такой еще вопрос - реально ли при создании GameActivity сразу же записать в БД данные свойств и предметов, возможно, в этом будет решение проблемы?
Так они у тебя рандомно должны генерится? или уже готовые связать? чето я вообще суть задачи не понимаю.
Re: listView, возможно
Добавлено: 26 фев 2014, 15:07
IriDolG
Они готовые, но очередность появления должна быть рандомной
Re: listView, возможно
Добавлено: 26 фев 2014, 15:15
adarash
IriDolG писал(а):Они готовые, но очередность появления должна быть рандомной
В чем проблема перемешать готовый массив.
Код: Выделить всё
public static void mix(int[] b) {
Random rnd = new Random();
for (int i = 1; i < b.length; i++) {
int j = rnd.nextInt(i);
int temp2 = b[i];
b[i] = b[j];
b[j] = temp2;
}
}
Таким же точно "макаром" можно любой массив объектов перемешать. Замени "int" на то, что тебе нужно и вперед, с песней.