Урок 54. Кастомизация списка. Создаем свой адаптер

Обсуждение уроков
WizikTLT
Сообщения: 52
Зарегистрирован: 01 ноя 2013, 13:30

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение WizikTLT » 27 ноя 2013, 10:48

а разве айдишник из ListView не равен индексу в ArrayList<List_Tovar> data ?
через data.get(айдишник из ListView), а дальше тащи что сохранил.

sae74
Сообщения: 31
Зарегистрирован: 28 фев 2013, 15:14

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение sae74 » 27 ноя 2013, 10:51

WizikTLT писал(а):а разве айдишник из ListView не равен индексу в ArrayList<List_Tovar> data ?
через data.get(айдишник из ListView), а дальше тащи что сохранил.
Буду Вам очень признателен если покажете как это сделать. :roll:
Сели не Вас это не затруднит.

WizikTLT
Сообщения: 52
Зарегистрирован: 01 ноя 2013, 13:30

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение WizikTLT » 27 ноя 2013, 10:56

cursor.getString(cursor.getColumnIndex(DB.TOVAR_COLUMN_ID) - это то значение что тебе нужно?
В onItemClick ты же уже выводишь айдишник из ListView
далее бери его
int id_from_bd = data.get(id).TMC_id;

или я не прав?

sae74
Сообщения: 31
Зарегистрирован: 28 фев 2013, 15:14

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение sae74 » 27 ноя 2013, 11:06

Спасибо сейчас попробую.

sae74
Сообщения: 31
Зарегистрирован: 28 фев 2013, 15:14

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение sae74 » 27 ноя 2013, 11:39

WizikTLT писал(а):cursor.getString(cursor.getColumnIndex(DB.TOVAR_COLUMN_ID) - это то значение что тебе нужно?
В onItemClick ты же уже выводишь айдишник из ListView
далее бери его
int id_from_bd = data.get(id).TMC_id;

или я не прав?
То что Доктор прописал!
Нужно было сразу спросить, а не выдумывать велосипед!

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

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение Foenix » 27 ноя 2013, 13:53

Правильней попытаться все-таки сделать кастомный адаптер на основе курсора SimpleCursorAdapter или воспользоваться стандартным.
R.id.team

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

sae74
Сообщения: 31
Зарегистрирован: 28 фев 2013, 15:14

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение sae74 » 27 ноя 2013, 14:01

Да я не против использовать SimpleCursorAdapter, но не могу понять как его сделать.
Мне нужно что бы ListView отобразил три параметра в строке и при определенных условиях раскрасил в разный цвет.

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

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение Foenix » 27 ноя 2013, 14:21

Читай внимательно урок по этому адаптеру, там ничего сложного. Раскрасить можно, переопределив метод getView
R.id.team

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

pulsar541
Сообщения: 1
Зарегистрирован: 28 ноя 2013, 09:54

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение pulsar541 » 28 ноя 2013, 09:55

-
Последний раз редактировалось pulsar541 02 дек 2013, 15:45, всего редактировалось 1 раз.

sae74
Сообщения: 31
Зарегистрирован: 28 фев 2013, 15:14

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение sae74 » 28 ноя 2013, 15:59

Спасибо попробую

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение IgNa » 08 дек 2013, 20:54

Пожалуйста допишите функцию сохранения галочек.... не получается

void save(){
ArrayList <Product> asd = new ArrayList<Product>();
for (Product p : objects) {
if (p.box) {
// save array asd
}


}
}
Изображение

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

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение Foenix » 08 дек 2013, 21:49

это в уроках есть
R.id.team

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

Nikit
Сообщения: 43
Зарегистрирован: 17 сен 2013, 20:54

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение Nikit » 09 дек 2013, 03:26

Смотри, я САМ без интернета и уроков сумел сохранить в преференс галочки,
но к сожалению только те, что попали в массив - корзины

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

protected void onPause() {
	int c=0;
		int b = 0; 
		 for (Product p : boxAdapter.getBox()) {
		      if (p.box==true) b=1;
		    	  if (p.box==false)b=0;
		    	 c = c +1;
		 String a = "a" + c;
		 Log.d(TAG, a);
		    	  SharedPreferences parPref = getSharedPreferences("paPref", Context.MODE_PRIVATE);
			   	    Editor edit = parPref.edit();
				   	     edit.putInt(a, b);
			   	      
			   	    edit.commit();
		 }
	  		 
		 
 
	  		super.onPause();
		 }

}
А вот как сохранить все галочки ( к чему и как обратиться ) никак не допру.
Очень страшно - если это вообще не возможно, а я сижу думаю

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение rezak90 » 09 дек 2013, 08:19

Nikit, лучше не показывай свой код))) а лучше удали.
P.S. Ну что здесь может быть сложного? По нажатию на чекбокс менять в коллекцию по нажатому id состояние чекбокса. Никакого гугла не нужно, просто немного логики.
R.id.team
Политика на форуме запрещена

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение KamiSempai » 09 дек 2013, 10:42

Символьное наименование переменных? 0_о
Я такого со времен университета не видел :)
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

aleksbim
Сообщения: 81
Зарегистрирован: 02 фев 2013, 02:52

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение aleksbim » 11 дек 2013, 03:26

.
Последний раз редактировалось aleksbim 12 дек 2013, 00:45, всего редактировалось 2 раза.

w201
Сообщения: 9
Зарегистрирован: 08 дек 2013, 12:43

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение w201 » 11 дек 2013, 10:34

Спасибо за уроки. У меня такой вопрос: я правильно понимаю, что при скролинге каждый раз будет вызываться CompoundButton.OnCheckedChangeListener?
И не проще ли вешаться не на изменения чека в чекбоксе, а на onclick?
[syntax=java]View.OnClickListener myOnClick = new View.OnClickListener() {
@Override
public void onClick(View v) {
CheckBox cb = (CheckBox) v;
if (cb.isChecked()) {
list.get((Integer)cb.getTag()).fav=true;
}else{
list.get((Integer)cb.getTag()).fav=false;
}

}
};[/syntax]

mrHelg
Сообщения: 2
Зарегистрирован: 09 янв 2014, 03:09

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение mrHelg » 09 янв 2014, 03:21

Доброй ночи, помогите разобраться, пожалуйста.
Есть кастомный адаптер списка (текст, картинка и checkbox). В нем реализован метод setOnItemClickListener(onItemClick), который вызывается по нажатию на элемент списка (кроме checkbox) и запускается другое активити. А также для checkboxa реализован отдельный setOnClickListener(onClick), который вызывается по нажатию на него.
Вопрос: как можно реализовать вызов метода setOnItemClickListener(onItemClick) списка из setOnClickListener(onClick) checkboxa? Другими словами необходимо, чтобы запускалось другое активити при нажатии на все элементы списка (в т.ч. и CheckBox).
Заранее благодарю.

darknight-ua
Сообщения: 2
Зарегистрирован: 29 янв 2014, 02:02

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение darknight-ua » 29 янв 2014, 02:11

NobodyCallMeChicken писал(а):Вы бы не могли объяснить один момент.
((TextView) view.findViewById(R.id.tvPrice)).setText(p.price + "");

а конкретно вот это: + "", зачем в методе setText к строке с ценой прибавлять еще пустую строку? И почему без этого приложение падает с ошибкой? Спасибо.
Если не преоброзовать число к строке то вызовется overload метод setString(int i). Он ищет строковый ресурс. помните папочку values? R.string.value возвращает идентификатор ресурса. Таким образом система поищет такой ресурс в проекте и если чудом найдет совпадение то присвоет его а иначе выдаст Exception

darknight-ua
Сообщения: 2
Зарегистрирован: 29 янв 2014, 02:02

Re: Урок 54. Кастомизация списка. Создаем свой адаптер

Сообщение darknight-ua » 29 янв 2014, 02:20

mrHelg писал(а):Доброй ночи, помогите разобраться, пожалуйста.
Есть кастомный адаптер списка (текст, картинка и checkbox). В нем реализован метод setOnItemClickListener(onItemClick), который вызывается по нажатию на элемент списка (кроме checkbox) и запускается другое активити. А также для checkboxa реализован отдельный setOnClickListener(onClick), который вызывается по нажатию на него.
Вопрос: как можно реализовать вызов метода setOnItemClickListener(onItemClick) списка из setOnClickListener(onClick) checkboxa? Другими словами необходимо, чтобы запускалось другое активити при нажатии на все элементы списка (в т.ч. и CheckBox).
Заранее благодарю.
Если я верно понял задачу то установите onClick у LinearLayout item окружающега все эллементы на нажатие.

Ответить