|
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
|
|||||||||||
Как правильно построить адаптер для показа данных из базы в ListView10.02.2014, 11:32. Показов 4692. Ответов 21
Метки нет (Все метки)
Всем привет.
На данный момент все данные в программе хранятся в классе, есть адаптер для отображения данных в ListView:
Если можно - покажите пример кода или ссылку на подоюный проект. Спасибо
0
|
|||||||||||
| 10.02.2014, 11:32 | |
|
Ответы с готовыми решениями:
21
Как правильно декодировать файл для показа в TextBox Как правильно настроить фильтр для базы данных? Подскажите как правильно сформулировать структуру базы данных для EF core |
|
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
|
|
| 10.02.2014, 11:54 | |
Сообщение было отмечено NOSC как решение
Решение
NOSC, используйте Cursor Adapter http://startandroid.ru/ru/urok... anija.html
1
|
|
|
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
|
|||||||
| 10.02.2014, 15:28 [ТС] | |||||||
|
Добавлено через 3 часа 27 минут Есть вот такой момент
0
|
|||||||
|
216 / 216 / 33
Регистрация: 26.12.2010
Сообщений: 691
|
||
| 10.02.2014, 15:40 | ||
|
0
|
||
|
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
|
|
| 10.02.2014, 15:57 | |
|
NOSC, в адаптере вызываете метод setImageResourse для ImageView
Добавлено через 8 минут Но остерегайтесь OutOfMemory exception т.к. картинки едят много памяти. Советую почитать вот это http://developer.android.com/t... index.html Или используйте для отображения картинок стороннюю библиотеку Universal image Loader, например. Для него есть русские доки.
0
|
|
|
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
|
|||||||
| 10.02.2014, 20:50 [ТС] | |||||||
Каким образом туда картинка "попадает"? Картинки хранятся в drawable ресурсах, в базе прописан просто идентификатор вида R.drawable.аа , пробовал картинки просто в assets положить и в базе прописать путь, но ошибка одна и та же на все картинки: Кликните здесь для просмотра всего текста
02-10 22:41:39.653: E/BitmapFactory(2359): Unable to decode stream: java.io.FileNotFoundException: /drawable/aa.png: open failed: ENOENT (No such file or directory)
02-10 22:41:39.653: I/System.out(2359): resolveUri failed on bad bitmap uri: /drawable/aa.png
0
|
|||||||
|
216 / 216 / 33
Регистрация: 26.12.2010
Сообщений: 691
|
|
| 10.02.2014, 21:20 | |
|
Почитайте про кастомные адапторы
0
|
|
|
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
|
|||||||||||||||||||||||
| 11.02.2014, 11:20 [ТС] | |||||||||||||||||||||||
|
Я подозвревал что должен возвращаться идентефикатор картинки из моего столбца "pic" в базе - но Появилась ругань (см выше), потом разместил картинки в assets и в ячейках базы указал путь к картинке - то же ругань. Я вилимо просто не понимаю каким образом тут должно быть реализовано. Подскажите, если не трудно. Спасибо Добавлено через 1 час 40 минут В общем прописал путь для файлов в assets и так же получил ошибки, но уже другого плана. Кто-нибудь может подсказать где я не прав? Кликните здесь для просмотра всего текста
02-11 11:01:13.937: W/ImageView(9802): Unable to open content: file:///android_asset/icons/aa.png
02-11 11:01:13.937: W/ImageView(9802): java.io.FileNotFoundException: /android_asset/icons/aa.png: open failed: ENOENT (No such file or directory) 02-11 11:01:13.937: W/ImageView(9802): at libcore.io.IoBridge.open(IoBridge.java:4 16) 02-11 11:01:13.937: W/ImageView(9802): at java.io.FileInputStream.<init>(FileInput Stream.java:78) 02-11 11:01:13.937: W/ImageView(9802): at java.io.FileInputStream.<init>(FileInput Stream.java:105) 02-11 11:01:13.937: W/ImageView(9802): at android.content.ContentResolver.openInpu tStream(ContentResolver.java:447) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.ImageView.resolveUri(Imag eView.java:636) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.ImageView.setImageURI(Ima geView.java:381) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.SimpleCursorAdapter.setVi ewImage(SimpleCursorAdapter.java:212) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.SimpleCursorAdapter.bindV iew(SimpleCursorAdapter.java:158) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.CursorAdapter.getView(Cur sorAdapter.java:250) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.AbsListView.obtainView(Ab sListView.java:2159) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.ListView.makeAndAddView(L istView.java:1831) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.ListView.fillDown(ListVie w.java:674) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.ListView.fillFromTop(List View.java:735) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.ListView.layoutChildren(L istView.java:1652) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.AbsListView.onLayout(AbsL istView.java:1994) 02-11 11:01:13.937: W/ImageView(9802): at android.view.View.layout(View.java:14008 ) 02-11 11:01:13.937: W/ImageView(9802): at android.view.ViewGroup.layout(ViewGroup. java:4373) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.LinearLayout.setChildFram e(LinearLayout.java:1663) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.LinearLayout.layoutVertic al(LinearLayout.java:1521) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.LinearLayout.onLayout(Lin earLayout.java:1434) 02-11 11:01:13.937: W/ImageView(9802): at android.view.View.layout(View.java:14008 ) 02-11 11:01:13.937: W/ImageView(9802): at android.view.ViewGroup.layout(ViewGroup. java:4373) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.FrameLayout.onLayout(Fram eLayout.java:448) 02-11 11:01:13.937: W/ImageView(9802): at android.view.View.layout(View.java:14008 ) 02-11 11:01:13.937: W/ImageView(9802): at android.view.ViewGroup.layout(ViewGroup. java:4373) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.LinearLayout.setChildFram e(LinearLayout.java:1663) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.LinearLayout.layoutVertic al(LinearLayout.java:1521) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.LinearLayout.onLayout(Lin earLayout.java:1434) 02-11 11:01:13.937: W/ImageView(9802): at android.view.View.layout(View.java:14008 ) 02-11 11:01:13.937: W/ImageView(9802): at android.view.ViewGroup.layout(ViewGroup. java:4373) 02-11 11:01:13.937: W/ImageView(9802): at android.widget.FrameLayout.onLayout(Fram eLayout.java:448) 02-11 11:01:13.937: W/ImageView(9802): at android.view.View.layout(View.java:14008 ) 02-11 11:01:13.937: W/ImageView(9802): at android.view.ViewGroup.layout(ViewGroup. java:4373) 02-11 11:01:13.937: W/ImageView(9802): at android.view.ViewRootImpl.performLayout( ViewRootImpl.java:1892) 02-11 11:01:13.937: W/ImageView(9802): at android.view.ViewRootImpl.performTravers als(ViewRootImpl.java:1711) 02-11 11:01:13.937: W/ImageView(9802): at android.view.ViewRootImpl.doTraversal(Vi ewRootImpl.java:989) 02-11 11:01:13.937: W/ImageView(9802): at android.view.ViewRootImpl$TraversalRunna ble.run(ViewRootImpl.java:4351) 02-11 11:01:13.937: W/ImageView(9802): at android.view.Choreographer$CallbackRecor d.run(Choreographer.java:749) 02-11 11:01:13.937: W/ImageView(9802): at android.view.Choreographer.doCallbacks(C horeographer.java:562) 02-11 11:01:13.937: W/ImageView(9802): at android.view.Choreographer.doFrame(Chore ographer.java:532) 02-11 11:01:13.937: W/ImageView(9802): at android.view.Choreographer$FrameDisplayE ventReceiver.run(Choreographer.java:735) 02-11 11:01:13.937: W/ImageView(9802): at android.os.Handler.handleCallback(Handle r.java:725) 02-11 11:01:13.937: W/ImageView(9802): at android.os.Handler.dispatchMessage(Handl er.java:92) 02-11 11:01:13.937: W/ImageView(9802): at android.os.Looper.loop(Looper.java:137) 02-11 11:01:13.937: W/ImageView(9802): at android.app.ActivityThread.main(Activity Thread.java:5226) 02-11 11:01:13.937: W/ImageView(9802): at java.lang.reflect.Method.invokeNative(Na tive Method) 02-11 11:01:13.937: W/ImageView(9802): at java.lang.reflect.Method.invoke(Method.j ava:511) 02-11 11:01:13.937: W/ImageView(9802): at com.android.internal.os.ZygoteInit$Metho dAndArgsCaller.run(ZygoteInit.java:795) 02-11 11:01:13.937: W/ImageView(9802): at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:562) 02-11 11:01:13.937: W/ImageView(9802): at dalvik.system.NativeStart.main(Native Method) 02-11 11:01:13.937: W/ImageView(9802): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory) 02-11 11:01:13.937: W/ImageView(9802): at libcore.io.Posix.open(Native Method) 02-11 11:01:13.937: W/ImageView(9802): at libcore.io.BlockGuardOs.open(BlockGuardO s.java:110) 02-11 11:01:13.937: W/ImageView(9802): at libcore.io.IoBridge.open(IoBridge.java:4 00) 02-11 11:01:13.937: W/ImageView(9802): ... 49 more 02-11 11:01:13.937: I/System.out(9802): resolveUri failed on bad bitmap uri: file:///android_asset/icons/aa.png Добавлено через 58 минут
Кликните здесь для просмотра всего текста
02-11 11:54:27.813: E/AndroidRuntime(11495): FATAL EXCEPTION: main
02-11 11:54:27.813: E/AndroidRuntime(11495): java.lang.NumberFormatException: Invalid int: "pic" 02-11 11:54:27.813: E/AndroidRuntime(11495): at java.lang.Integer.invalidInt(Integer.jav a:138) 02-11 11:54:27.813: E/AndroidRuntime(11495): at java.lang.Integer.parse(Integer.java:375 ) 02-11 11:54:27.813: E/AndroidRuntime(11495): at java.lang.Integer.parseInt(Integer.java: 366) 02-11 11:54:27.813: E/AndroidRuntime(11495): at java.lang.Integer.parseInt(Integer.java: 332) 02-11 11:54:27.813: E/AndroidRuntime(11495): at java.lang.Integer.valueOf(Integer.java:4 90) 02-11 11:54:27.813: E/AndroidRuntime(11495): at com.site.test.MyCursorAdapter.setViewIma ge(MyCursorAdapter.java:18) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.SimpleCursorAdapter.bindV iew(SimpleCursorAdapter.java:158) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.CursorAdapter.getView(Cur sorAdapter.java:250) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.AbsListView.obtainView(Ab sListView.java:2159) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.ListView.makeAndAddView(L istView.java:1831) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.ListView.fillDown(ListVie w.java:674) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.ListView.fillFromTop(List View.java:735) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.ListView.layoutChildren(L istView.java:1652) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.AbsListView.onLayout(AbsL istView.java:1994) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.View.layout(View.java:14008 ) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.ViewGroup.layout(ViewGroup. java:4373) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.LinearLayout.setChildFram e(LinearLayout.java:1663) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.LinearLayout.layoutVertic al(LinearLayout.java:1521) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.LinearLayout.onLayout(Lin earLayout.java:1434) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.View.layout(View.java:14008 ) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.ViewGroup.layout(ViewGroup. java:4373) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.FrameLayout.onLayout(Fram eLayout.java:448) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.View.layout(View.java:14008 ) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.ViewGroup.layout(ViewGroup. java:4373) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.LinearLayout.setChildFram e(LinearLayout.java:1663) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.LinearLayout.layoutVertic al(LinearLayout.java:1521) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.LinearLayout.onLayout(Lin earLayout.java:1434) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.View.layout(View.java:14008 ) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.ViewGroup.layout(ViewGroup. java:4373) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.widget.FrameLayout.onLayout(Fram eLayout.java:448) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.View.layout(View.java:14008 ) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.ViewGroup.layout(ViewGroup. java:4373) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.ViewRootImpl.performLayout( ViewRootImpl.java:1892) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.ViewRootImpl.performTravers als(ViewRootImpl.java:1711) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.ViewRootImpl.doTraversal(Vi ewRootImpl.java:989) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.ViewRootImpl$TraversalRunna ble.run(ViewRootImpl.java:4351) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.Choreographer$CallbackRecor d.run(Choreographer.java:749) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.Choreographer.doCallbacks(C horeographer.java:562) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.Choreographer.doFrame(Chore ographer.java:532) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.view.Choreographer$FrameDisplayE ventReceiver.run(Choreographer.java:735) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.os.Handler.handleCallback(Handle r.java:725) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.os.Handler.dispatchMessage(Handl er.java:92) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.os.Looper.loop(Looper.java:137) 02-11 11:54:27.813: E/AndroidRuntime(11495): at android.app.ActivityThread.main(Activity Thread.java:5226) 02-11 11:54:27.813: E/AndroidRuntime(11495): at java.lang.reflect.Method.invokeNative(Na tive Method) 02-11 11:54:27.813: E/AndroidRuntime(11495): at java.lang.reflect.Method.invoke(Method.j ava:511) 02-11 11:54:27.813: E/AndroidRuntime(11495): at com.android.internal.os.ZygoteInit$Metho dAndArgsCaller.run(ZygoteInit.java:795) 02-11 11:54:27.813: E/AndroidRuntime(11495): at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:562) 02-11 11:54:27.813: E/AndroidRuntime(11495): at dalvik.system.NativeStart.main(Native Method) Поскольку присутствует в ошике, приведу кусок кода из калсса DataBase%
Кто может подсказать что тут не правильно? Я уже голову всю сломал, помогите пожалуйста. Добавлено через 1 час 19 минут Весь вопрос свелся к этой строчке:
0
|
|||||||||||||||||||||||
|
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
|
|
| 11.02.2014, 11:32 | |
|
Попробуйте COLUMN_IMG сделать int, или Integer.valueOf(DataBase.COLUMN_IMG) сделать отдельной строкой
0
|
|
|
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
|
|
| 11.02.2014, 11:39 [ТС] | |
|
0
|
|
|
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
|
|
| 11.02.2014, 11:46 | |
|
а что вы хотите вообще получить?
0
|
|
|
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
|
|||||||||||
| 11.02.2014, 11:50 [ТС] | |||||||||||
|
Хочу получить данные из базы в ListView:
0
|
|||||||||||
|
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
|
|
| 11.02.2014, 11:53 | |
|
Почитайте про кастомные адаптеры! Если вы сами пишете адаптер то у вас должен быть метод getView где вы будете присваивать данные строке в списке.
Добавлено через 1 минуту http://startandroid.ru/ru/urok... apter.html
0
|
|
|
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
|
|||||||
| 11.02.2014, 12:00 [ТС] | |||||||
Просто у меня загвоздка только с ImageView - все остальное работает как надо
0
|
|||||||
|
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
|
|
| 11.02.2014, 12:12 | |
|
В таком случае зачем вы наследуете SimpleCursorAdapter и перегружаете setViewImage? Если наследуетесь извольте переопределить getView и остальные методы адаптера. А так используйте дефолтный SimpleCursorAdapter
0
|
|
|
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
|
||
| 11.02.2014, 12:39 [ТС] | ||
|
Добавлено через 14 минут Вот такая ошибака выходит в логи - не понимаю как правильно сделать =( Кликните здесь для просмотра всего текста
02-11 14:38:37.179: E/BitmapFactory(18329): Unable to decode stream: java.io.FileNotFoundException: /R.drawable.aa: open failed: ENOENT (No such file or directory)
02-11 14:38:37.179: I/System.out(18329): resolveUri failed on bad bitmap uri: R.drawable.aa
0
|
||
|
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
|
|
| 11.02.2014, 14:41 | |
|
картинки хранятся в папке drawable а не в assets. Путь к ним выглядит как R.drawable.имя картинки
0
|
|
|
216 / 216 / 33
Регистрация: 26.12.2010
Сообщений: 691
|
|
| 11.02.2014, 14:45 | |
|
картинки можно хранить и в assets, но только вот способ получения разных из этих мест.
я бы все таки посоветовал написать свой небольшой адаптер, вышло бы намного быстрее и проще. а там уже без разницы что вы передадите, массив данных или курсор - работать будет в любом случаи
0
|
|
|
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
|
||||
| 11.02.2014, 14:51 [ТС] | ||||
|
Я не понимаю что именно не правильно в моем случае, в базе хранятся идентификаторы R.drawable.aa - но ошибка (см выше) возникает при любом раскладе. Помогите понять в чем проблема - когда дойдет, тогда и свой адаптер смогу написать. Спасибо
0
|
||||
|
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
|
||||||
| 11.02.2014, 15:37 | ||||||
|
Проблема в том что программа не находит картинку. Может с названием какой косяк. Или типом.
Добавлено через 4 минуты Позвольте отступление:
0
|
||||||
| 11.02.2014, 15:37 | |
|
Помогаю со студенческими работами здесь
20
SybaseIQ : построить схему данных для базы как правильно вывести информацию с базы данных? Как сделать правильно выборку из базы данных? Построить базы данных для учета времени работы строительного оборудования
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|