listView, возможно

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
Аватара пользователя
IriDolG
Сообщения: 46
Зарегистрирован: 10 фев 2014, 09:23

listView, возможно

Сообщение IriDolG » 25 фев 2014, 12:55

Работаю над игрой и столкнулась с такой проблемой.
На игровом экране выводятся строки с описанием предмета, а игрок выбирает из предложенных ему нескольких вариантов предметов (в виде кнопок или listView) нужный. Как можно связать строки и предмет из списка? Можно ли, учитывая количество уже выведенных строк с описанием, показывать ту или иную информацию игроку? И последнее - как сделать так, чтобы описания предметов (соответственно, и список самих предметов) выводились случайно?
Когда-нибудь я научусь!

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

Re: listView, возможно

Сообщение Foenix » 25 фев 2014, 13:56

вы уроки вообще не читали?
R.id.team

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

Аватара пользователя
IriDolG
Сообщения: 46
Зарегистрирован: 10 фев 2014, 09:23

Re: listView, возможно

Сообщение IriDolG » 25 фев 2014, 14:37

Читала, почти все.
Когда-нибудь я научусь!

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

Re: listView, возможно

Сообщение Foenix » 25 фев 2014, 21:07

странно..
R.id.team

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

Аватара пользователя
IriDolG
Сообщения: 46
Зарегистрирован: 10 фев 2014, 09:23

Re: listView, возможно

Сообщение IriDolG » 26 фев 2014, 05:14

С помощью какого метода\ов вышенаписанное делается? Чтобы более пристально мне изучить.
Когда-нибудь я научусь!

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

Re: listView, возможно

Сообщение Foenix » 26 фев 2014, 06:56

1 что нужно сделать - определиться с тем, что вам нужно. Сколько и каких предметов, какими свойствами они обладают, будет ли меняться их количество, куда внести информацию о них - в массив строк, таблицу базы данных или еще куда-то, как вывести их - в виде листвью или кнопочек.. в каком виде будет выдаваться информация..
Я этого пока из вашего описания не вижу, поэтому ответить на вопрос - сложно.
Если навскидку почитать - уроки о листвью, хранении данных, диалоговых окнах и активити.
R.id.team

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

Аватара пользователя
IriDolG
Сообщения: 46
Зарегистрирован: 10 фев 2014, 09:23

Re: listView, возможно

Сообщение IriDolG » 26 фев 2014, 11:18

Нужно каким-то образом сгруппировать свойства по массивам строк (по 5 на предмет), чтобы при нажатии на предмет из listView игрок информировался, правильно он указал или нет. Как вот мне связать массивы строк свойств с массивами строк предметов? Или другими словами, чтобы каждый предмет имел 5 свойств. В уроках не нашла подобной информации((
Когда-нибудь я научусь!

Аватара пользователя
adarash
Сообщения: 333
Зарегистрирован: 17 июл 2013, 09:59

Re: listView, возможно

Сообщение adarash » 26 фев 2014, 11:37

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)
присвоение:

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

v.setTag(date);
3. Когда на нее нажимаешь можешь получить этот класс

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

public void onClick(View v) {
	LotSimple date = (LotSimple) v.getTag();
	if (a != null) {
		 //и здесь бери с этого класса все свойства которые тебе нужны и делай что тебе хочется
	}
}

Аватара пользователя
IriDolG
Сообщения: 46
Зарегистрирован: 10 фев 2014, 09:23

Re: listView, возможно

Сообщение IriDolG » 26 фев 2014, 12:46

Спасибо, интересно! А как вообще получается рандомность вызова свойств? Что то вроде генератора случайных чисел? Для того, чтобы при создании активити каждый раз появлялся разный текст из массивов.
Когда-нибудь я научусь!

Аватара пользователя
adarash
Сообщения: 333
Зарегистрирован: 17 июл 2013, 09:59

Re: listView, возможно

Сообщение adarash » 26 фев 2014, 13:43

Рандомность - это у тебя в коде. Какой объект присвоишь - такой и получишь.

Аватара пользователя
IriDolG
Сообщения: 46
Зарегистрирован: 10 фев 2014, 09:23

Re: listView, возможно

Сообщение IriDolG » 26 фев 2014, 14:41

Так ведь есть ГСЧ - его каким-то образом прописывают.
И такой еще вопрос - реально ли при создании GameActivity сразу же записать в БД данные свойств и предметов, возможно, в этом будет решение проблемы?
Когда-нибудь я научусь!

Аватара пользователя
adarash
Сообщения: 333
Зарегистрирован: 17 июл 2013, 09:59

Re: listView, возможно

Сообщение adarash » 26 фев 2014, 15:03

IriDolG писал(а):Так ведь есть ГСЧ - его каким-то образом прописывают.
И такой еще вопрос - реально ли при создании GameActivity сразу же записать в БД данные свойств и предметов, возможно, в этом будет решение проблемы?
Так они у тебя рандомно должны генерится? или уже готовые связать? чето я вообще суть задачи не понимаю.

Аватара пользователя
IriDolG
Сообщения: 46
Зарегистрирован: 10 фев 2014, 09:23

Re: listView, возможно

Сообщение IriDolG » 26 фев 2014, 15:07

Они готовые, но очередность появления должна быть рандомной
Когда-нибудь я научусь!

Аватара пользователя
adarash
Сообщения: 333
Зарегистрирован: 17 июл 2013, 09:59

Re: listView, возможно

Сообщение adarash » 26 фев 2014, 15:15

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" на то, что тебе нужно и вперед, с песней.

Ответить