Урок 52. SimpleCursorAdapter, пример использования

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

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Foenix » 18 сен 2013, 17:46

да у тебя в ресурсах нету строки с таким названием. Нажми на данной фразе ctrl+1, там будет пункт добавить строку или что-то в этом роде.
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: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Nikit » 20 сен 2013, 16:35

Я извиняюсь за нубость, но
Мы берем какие то элементы и через адаптер добавляем их в листбокс или удаляем их от туда)

А как сохранять и лоудить то ????????????????????????????????????????:)


Так как я полный нуб, если есть ссылка на готовый пример или видеоурок, где в листбокс добавляется текст из едиттекста по нажатию на кнопку + можно менять картинку сбоку, а потом это все сохранить и залоудить, то плиз
Последний раз редактировалось Nikit 20 сен 2013, 18:39, всего редактировалось 1 раз.

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

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Nikit » 20 сен 2013, 18:33

НАРОД, я прально думаю, что чтобы сохранять и лоудить содержимое листбоксов ...нужно дополнительно к этому уроку про адапетры, допольниительно использовать информацию из этого http://startandroid.ru/ru/uroki/vse-uro ... ences.html про хранение данных с помощью Preferences ???????????????????????????
Последний раз редактировалось Nikit 20 сен 2013, 18:41, всего редактировалось 1 раз.

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

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Nikit » 20 сен 2013, 18:41

Отвечайте, а то я вас посчитаю)

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

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Foenix » 20 сен 2013, 18:47

нет, преференсес тут вообще не нужно. Читай уроки внимательно.
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: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Nikit » 20 сен 2013, 19:00

Намекни плз) а то я тону в океане информации..

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

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Foenix » 20 сен 2013, 19:10

с удовольствием, если ты нормаьлно объяснишь что тебе нужно, а то мне это:
Мы берем какие то элементы и через адаптер добавляем их в листбокс или удаляем их от туда)

А как сохранять и лоудить то ????????????????????????????????????????:)
не понятно.
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: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Nikit » 20 сен 2013, 19:30

Вот смотри, вот в этом уроке http://startandroid.ru/ru/uroki/vse-uro ... pisej.html
показано как добавлять и удалять записи в список

Предположим у меня был чистый список .. я добавил в него одну запись, как результат расчёта своей программы, и всё что мне теперь хочется это сохранить эти данные и сделать так, чтобы они подгружались при загрузке программы

Но они же пропадают :(

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

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Foenix » 20 сен 2013, 19:33

нет, нужно создать базу данных, в нее добавлять данные и использовать simplecursoradapter (ты же и пишешь в теме этого вдеь урока!). ПОсмотри урок по нему. Будут вопросы - пиши.
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: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Nikit » 20 сен 2013, 22:09

сделал все как в уроке, работает хорошо, данные сохраняются
.. Попытался придумать как их редактировать) - не вышло

Может есть примеры, где реализовано редактирование ?мм)
на русском

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

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Foenix » 20 сен 2013, 22:23

по нажатию на пункт списка, например, вылетает диалог-фрагмент где есть все поля таблицы списка. Редактируешь, нажимешь ОК и сохраняешь в бд. Это в общем, все данные операции (передача туда-сюда данных, апдейт таблицы) есть в уроках.. Создать новую строчку точно так же, только передавайть ей айди строки Null
R.id.team

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

Spinner
Сообщения: 9
Зарегистрирован: 26 сен 2013, 20:51

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Spinner » 01 окт 2013, 17:45

Подскажите, а как реализовать удаление элемента списка при слайде по нему например влево?!

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

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Foenix » 01 окт 2013, 18:02

Spinner писал(а):Подскажите, а как реализовать удаление элемента списка при слайде по нему например влево?!
Вот тут написано https://github.com/romannurik/android-swipetodismiss
R.id.team

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

Richard
Сообщения: 1
Зарегистрирован: 08 окт 2013, 11:55

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Richard » 08 окт 2013, 11:57

В уроке используется requery, который устарел (Deprecated).
This method was deprecated in API level 11.
Don't use this. Just request a new cursor, so you can do this asynchronously and update your list view once the new cursor comes back.
и startManagingCursor, который тоже устарел.
This method was deprecated in API level 11.
Use the new CursorLoader class with LoaderManager instead; this is also available on older platforms through the Android compatibility package.
Измените, пожалуйста, урок, чтобы соответствовать новым требованиям.

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

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Foenix » 08 окт 2013, 12:50

Уже изменили, более того, записали вебинар на тему "что делать вместо" Тема тут
viewtopic.php?f=60&t=2596
глубокая, изучайте :)
R.id.team

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

Mike
Сообщения: 12
Зарегистрирован: 27 авг 2013, 18:28

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Mike » 24 окт 2013, 15:29

В качестве последнего штриха к крышке гроба SimpleCursorAdapter. На developer.android.com представлено два конструктора сабжа. "This constructor was deprecated in API level 11" вроде указано только для первого. А что со вторым, который отличается от первого только наличием лишнего фажка в параметрах? Он совсем плох? Если не совсем, то нельзя ли прояснить назначение флажка? Я попробовал с ним поиграть, но безрезультатно (т.е., в контексте борьбы с фрагментами, в частности с "ListFragment + SimpleCursorAdapter", не удается заставить синтаксический контроль признать его "своим"). Очень не хочется разбираться с "что делать вместо" - функциональность альтернативы сверх избыточна для моей задачи (и моего понимания :twisted:), а сабжа - в самый раз (проверено с ListView) ....

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

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Foenix » 24 окт 2013, 15:55

Майк, не преувеличивай, просто объявлен deprecated адаптер, вписывай значение нового параметра по-умолчанию и не парься, тебя ждут дела поважнее :)
Почему игры безрезультатны:
Флаг FLAG_AUTO_REQUERY тоже deprecated, остается FLAG_REGISTER_CONTENT_OBSERVER. Все, задачка коротко решалась)
R.id.team

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

Mike
Сообщения: 12
Зарегистрирован: 27 авг 2013, 18:28

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение Mike » 24 окт 2013, 16:56

я так и сделал, - не помгло, по следам и написал ((( Значит причина в чем-то еще ... Главное, возродилась надежда ... что SimpleCursorAdapter еще жив (жив curilka :)). Бум искать ... Спасибо :)

Аватара пользователя
andev
Сообщения: 219
Зарегистрирован: 13 янв 2012, 17:56

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение andev » 25 окт 2013, 15:03

Добрый день!
У меня стоит задача выводить элементы вида String String ImageUrl[] (ссылок на картинки может быть [0,10].) Когда выводил через переопределенный ArrayAdapter делал так:
item_layout выключает в себя два TextView и один LinearLayout. В методе getView адаптера заполняю оба TextView и по определенному алгоритму (в зависимости от количества ссылок) заполняю картинками LinearLayout, возвращаю View.
Сейчас в связи с необходимостью реализовать кеширования для работы оффлайн мне посоветовали сделать иначе:
Данные хранить в БД, отображать их через SimpleCursorAdapter, а при загрузке новых данных они помещаются в БД и оттуда отображаются в ListView.
Т.к. мне нужно в зависимости от количества ссылок на каждый элемент списка выводить их по-разному, я переопределил CursorAdapter.

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

public class MyCursorAdapter extends CursorAdapter {

	LayoutInflater li;

	public MyCursorAdapter(Context context, Cursor c) {
		super(context, c);
		li = LayoutInflater.from(context);
	}

	@Override
	public void bindView(View view, Context context, Cursor cursor) {
		TextView tv_text = (TextView) view.findViewById(R.id.tv_text);
		tv_text.setText(cursor.getString(cursor.getColumnIndex(DB.COLUMN_TEXT)));

		TextView tv_date = (TextView) view.findViewById(R.id.tv_date);
		tv_date.setText(cursor.getString(cursor.getColumnIndex(DB.COLUMN_DATE)));

		LinearLayout ll = (LinearLayout) view
				.findViewById(R.id.ll_photo_placeholder);
		ll.removeAllViews();

		LinearLayout ll_images = getLLwithImages();

		ll.addView(ll_images, new LinearLayout.LayoutParams(
					LinearLayout.LayoutParams.MATCH_PARENT,
					LinearLayout.LayoutParams.MATCH_PARENT));
	}

	@Override
	public View newView(Context context, Cursor cursor, ViewGroup parent) {
		View v = li.inflate(R.layout.post_layout, parent, false);
		bindView(v, context, cursor);
		return v;
	}
В правильном ли направлении я двигаюсь, либо мне надо было реализовать это при помощи SimpleCursorAdapter и ViewBinder?
Так же в текущей реализации я вынужден вызывать ll.removeAllViews(); т.к. иначе при каждом вызове bindView добавляются те же самые изображения.

snowkam
Сообщения: 162
Зарегистрирован: 21 мар 2013, 11:22

Re: Урок 52. SimpleCursorAdapter, пример использования

Сообщение snowkam » 12 ноя 2013, 15:06

Добрый день.
Подскажите как реализовать задачу?
Нужно в ListView выбрать несколько элементов ну и потом над ними чтото совершить например удалить скопом эти записи из базы данных.
Попытался прикрутить к ListView setChoiceMode(ListView.CHOICE_MODE_MULTIPLE) но чекбокс не появляется. Может быть он совсем не работает если я использую SimpleCursorAdapter.
Как быть подскажите?

Ответить