биндер,адаптер,листвью и массив данных... давайте попорядку
биндер,адаптер,листвью и массив данных... давайте попорядку
есть листвью, с адаптером симплеадаптер
есть свойбиндер (для того чтобы первому элементу задать один фон, последнему другой)
есть эллемент листвью ввиде отдельного файла структура такая:
<LinearLayout (gorizontal)>
<LinearLayout > <imageview></linearlayout>
<linearLayout> <textview></linearlayout>
Задача такая чтобы в <textView> попадали данные из базы ввиде: сумма и валюта. их может быть одна запись, а может и пять, цвет должен быть в зависимости от баланса (красный или зеленый).
примерно так:
первый эллемент списка:
1000 RUB
-500 USD
128 EUR
Второй:
5000 RUB
третий....
я вижу такое решение:
нам нужно в адаптере передавать не просто текст или цифру в биндер, а список данных желательно map<String,Integer>, только как мне это сделать? - передать то вроде получается, как с ними в биндере работать? в 50 уроке все сжато описано. Из обьекта в цифру или строку я данные получаю легко. А как мне получить map?
голова отключается. ушел спать. 5 часов просидел за "этим"...
скажите мне что есть решение проще и ссылку если сталкивались,знаете...
и еще один вопрос - как лучше реализовать наполнение поля с цифрами? программно добавлять каждый эллемент (если есть) или еще один список без прокрутки(если есть такой)...
есть свойбиндер (для того чтобы первому элементу задать один фон, последнему другой)
есть эллемент листвью ввиде отдельного файла структура такая:
<LinearLayout (gorizontal)>
<LinearLayout > <imageview></linearlayout>
<linearLayout> <textview></linearlayout>
Задача такая чтобы в <textView> попадали данные из базы ввиде: сумма и валюта. их может быть одна запись, а может и пять, цвет должен быть в зависимости от баланса (красный или зеленый).
примерно так:
первый эллемент списка:
1000 RUB
-500 USD
128 EUR
Второй:
5000 RUB
третий....
я вижу такое решение:
нам нужно в адаптере передавать не просто текст или цифру в биндер, а список данных желательно map<String,Integer>, только как мне это сделать? - передать то вроде получается, как с ними в биндере работать? в 50 уроке все сжато описано. Из обьекта в цифру или строку я данные получаю легко. А как мне получить map?
голова отключается. ушел спать. 5 часов просидел за "этим"...
скажите мне что есть решение проще и ссылку если сталкивались,знаете...
и еще один вопрос - как лучше реализовать наполнение поля с цифрами? программно добавлять каждый эллемент (если есть) или еще один список без прокрутки(если есть такой)...
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: биндер,адаптер,листвью и массив данных... давайте попоря
Используй вместо симплеадаптер класс наследник от BaseAdapter.
В конструктор ему передавай список Map или любых других классов которые тебе нужны.
На вскидку будет выглядеть так:
В конструктор ему передавай список Map или любых других классов которые тебе нужны.
На вскидку будет выглядеть так:
Код: Выделить всё
public abstract class CustomListAdapter extends BaseAdapter {
private List<Map> itemsList;
private LayoutInflater inflater;
public CustomListAdapter(Context context, List<Map> itemsList) {
inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return itemsList.size();
}
@Override
public Map getItem(int i) {
return itemsList.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(final int position, View view, ViewGroup viewGroup) {
if (view == null) {
view = inflater.inflate(R.layout.your_layout, null);
}
// instantiateView...
return view;
}
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.
Re: биндер,адаптер,листвью и массив данных... давайте попоря
не понимаю, почему если используешь бд, то не использовать курсорадаптер, сразу выбирая в запрос то, что нужно - обе колонки, а потом точно так же переопределить гетвью, чтобы раскрасить? Получится гораздо проще, а не городуха из кучи кубиков.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: биндер,адаптер,листвью и массив данных... давайте попоря
не знаю меняет ли чтото, но у меня структура такая:
есть база с данными из которой наполняется листвью (картинка, текст, баланас)
у каждой строки базы есть своя база с содержанием баланса в виде (id, valuta, balans) - эти данные и надо поместить в итем листвью в контейнер "баланс".
сори если криво объяснил...
есть база с данными из которой наполняется листвью (картинка, текст, баланас)
у каждой строки базы есть своя база с содержанием баланса в виде (id, valuta, balans) - эти данные и надо поместить в итем листвью в контейнер "баланс".
сори если криво объяснил...
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: биндер,адаптер,листвью и массив данных... давайте попоря
вопрос такой: можно в этот контейнер сделать еще один листвью без обработки и прокрутки?
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: биндер,адаптер,листвью и массив данных... давайте попоря
map я передаю и так как у меня сделано в биндер. А вот как в биндере извлечь из Object'a map мой и как с ним работать )))) глупый вопрос, да ? )))anber писал(а): В конструктор ему передавай список Map или любых других классов которые тебе нужны.
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: биндер,адаптер,листвью и массив данных... давайте попоря
Если это то как здесь написано это пздц (sorry).парень писал(а):у каждой строки базы есть своя база
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: биндер,адаптер,листвью и массив данных... давайте попоря
обьясни почему пздц?rezak90 писал(а):Если это то как здесь написано это пздц (sorry).парень писал(а):у каждой строки базы есть своя база
мне нужно хранить около 10 строк данных (id(integer), name(String), image(integer)) и у каждой строки есть еще "баланс" - ввиде "сумма"-"валюта". их может быть как 1 строка, так и 10. (обычно будет 1-3).
поэтому есть таблица table (id(integer), name(String), image(integer)).
и таблицЫ table_id(где id это привязка к первой таблице к конкретной строке)
размножение таблиц возможно только пользователем. программно при удалении строки в table с id=5(например), тут же удаляется table_5 и т.д.
это на корню не верная реализация? просто не придумал как лучше хранить такую инфу.
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: биндер,адаптер,листвью и массив данных... давайте попоря
или может сделать тогда одну базу id,name,image,bal1,val1,bal2,val2,bal3,val3,bal4,val4,bal5,val5 и т.д. - до 10 например. и сделать ограничение на не более 10 валют.
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: биндер,адаптер,листвью и массив данных... давайте попоря
я лучше дам слово тёте Инне, она более литературно расскажет что да как =)
P.S. я о миссис Foenix
P.S. я о миссис Foenix
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: биндер,адаптер,листвью и массив данных... давайте попоря
никогда так не делайпарень писал(а):или может сделать тогда одну базу id,name,image,bal1,val1,bal2,val2,bal3,val3,bal4,val4,bal5,val5 и т.д. - до 10 например. и сделать ограничение на не более 10 валют.
это не описание структурыне знаю меняет ли чтото, но у меня структура такая:
есть база с данными из которой наполняется листвью (картинка, текст, баланас)
внутри базы данных содержатся таблицы. Внутри таблиц - строки. Внутри строк - ячейки. Внутри ячеек - данные. Лучше придерживаться такой лексики.парень писал(а): у каждой строки базы есть своя база
это я вообще не поняла что такое.парень писал(а): итем листвью в контейнер "баланс".
Прочти уроки с 34го все, что касаются баз данных, затем урок 52.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: биндер,адаптер,листвью и массив данных... давайте попоря
Foenix, хотя бы чуточку сарказма прибавила бы
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: биндер,адаптер,листвью и массив данных... давайте попоря
тебе б прибавила, да сил уже нету никаких.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: биндер,адаптер,листвью и массив данных... давайте попоря
Я понял о чем он. По мне, так самым быстрым и менее геморойным решением будет взять ExpandableListView и переопределить метод isGroupExpanded(int groupPosition), что бы он всегда возвращал true. Еще можно заглушить метод collapseGroup(int groupPos) также переопределив его и возвращать false без вызова метода суперкласса.
В итоге получится список который всегда раскрыт.
Группы будут элементами списка, а строки списками валют.
Ни каких Map делать не нужно. Можно сразу делать выборку из базы.
В итоге получится список который всегда раскрыт.
Группы будут элементами списка, а строки списками валют.
Ни каких Map делать не нужно. Можно сразу делать выборку из базы.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: биндер,адаптер,листвью и массив данных... давайте попоря
в первую очередь хочу сказать спасибо всем кто поделился мыслями и помогает мне.
наваял картинку... надеюсь так нагляднее.
наваял картинку... надеюсь так нагляднее.
- Вложения
-
- startandroid.png (38.32 КБ) 6817 просмотров
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: биндер,адаптер,листвью и массив данных... давайте попоря
спасибо. завтра буду делать.KamiSempai писал(а):Я понял о чем он. По мне, так самым быстрым и менее геморойным решением будет взять ExpandableListView и переопределить метод isGroupExpanded(int groupPosition), что бы он всегда возвращал true. Еще можно заглушить метод collapseGroup(int groupPos) также переопределив его и возвращать false без вызова метода суперкласса.
В итоге получится список который всегда раскрыт.
Группы будут элементами списка, а строки списками валют.
Ни каких Map делать не нужно. Можно сразу делать выборку из базы.
Есть еще идеи?
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: биндер,адаптер,листвью и массив данных... давайте попоря
вот это я понимаю! хотела попросить картинку, да думала - все равно не будешь делать..
позже отвечу, через пару часов, сейчас времени нет. Структура базы данных неверная. Тут нужно всего 2 таблицы. Остальное все просто.
позже отвечу, через пару часов, сейчас времени нет. Структура базы данных неверная. Тут нужно всего 2 таблицы. Остальное все просто.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: биндер,адаптер,листвью и массив данных... давайте попоря
буду очень благодарен.
на данный момент сделал программное наполнение через цикл эллементов и addView ))) убого как то... обработчик не могу сделать.
на данный момент сделал программное наполнение через цикл эллементов и addView ))) убого как то... обработчик не могу сделать.
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: биндер,адаптер,листвью и массив данных... давайте попоря
Значит так. Поправь, если я не права и что-то не так поняла.
я вижу на экране список1 из текстовых элементов и картиночек, в котором пока 4 элемента. К каждому элементу прилагается еще один список2, где каждому элементу из списка1 соответствует несколько элементов из списка 2. Только не пойму что это за 1, 2, 3, 4 циферки, стоящие справа.
Таким образом, база данных будет состоять из 3 таблиц (предварительно).
1 таблица MAIN (временное название) - это основной список. его поля:
_id - integer, формируется автоматически.
image - blob картинка. Т.к. картика небольшая и табличка небольшая, ее допустимо хранить в blob-формате прямо в таблице. Но можно и хранить отдельно, а в таблицу, вместо этого поля вносить путь к картинке, тогда поле станет String.
2 таблица вспомогательная, называется "справочник" валют Valute
_id integer, формируется автоматически
val_code - допустим если нужен код валюты String
val_name - наименование String
3 таблица - это твои дополнительные списки DETAILS. Поля будут такие:
_id - integer, формируется автоматически.
id_main - integer, это поле является ссылкой на _id поле главной таблицы MAIN (формирование названия желательно так)
summa - integer (если целое, допустим), это сумма или по-твоему баланс
id_valute - integer, ссылка на код валюты строку _id из справочника валют
Это что касается структуры базы данных.
Таким образом, таблица 2 у тебя будет по твоему рисунку выглядеть примерно так:
_id id_main summa id_valute
1 1 1024 1
2 1 500 2
3 1 684 3
4 2 -785 1
5 2 300 2
6 3 100 3
7 4 650 4
8 4 -456 5
справочник валют
1 руб
2 usd
3 eur
4 jpy
5 chr
ну а main сам сообразишь)
я вижу на экране список1 из текстовых элементов и картиночек, в котором пока 4 элемента. К каждому элементу прилагается еще один список2, где каждому элементу из списка1 соответствует несколько элементов из списка 2. Только не пойму что это за 1, 2, 3, 4 циферки, стоящие справа.
Таким образом, база данных будет состоять из 3 таблиц (предварительно).
1 таблица MAIN (временное название) - это основной список. его поля:
_id - integer, формируется автоматически.
image - blob картинка. Т.к. картика небольшая и табличка небольшая, ее допустимо хранить в blob-формате прямо в таблице. Но можно и хранить отдельно, а в таблицу, вместо этого поля вносить путь к картинке, тогда поле станет String.
2 таблица вспомогательная, называется "справочник" валют Valute
_id integer, формируется автоматически
val_code - допустим если нужен код валюты String
val_name - наименование String
3 таблица - это твои дополнительные списки DETAILS. Поля будут такие:
_id - integer, формируется автоматически.
id_main - integer, это поле является ссылкой на _id поле главной таблицы MAIN (формирование названия желательно так)
summa - integer (если целое, допустим), это сумма или по-твоему баланс
id_valute - integer, ссылка на код валюты строку _id из справочника валют
Это что касается структуры базы данных.
Таким образом, таблица 2 у тебя будет по твоему рисунку выглядеть примерно так:
_id id_main summa id_valute
1 1 1024 1
2 1 500 2
3 1 684 3
4 2 -785 1
5 2 300 2
6 3 100 3
7 4 650 4
8 4 -456 5
справочник валют
1 руб
2 usd
3 eur
4 jpy
5 chr
ну а main сам сообразишь)
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: биндер,адаптер,листвью и массив данных... давайте попоря
Далее запросы для выборки данных для отображения.
1 списочек
select * from main
2 это балансы для каждой строки из списка 1
select details._id, details.summa, valute.name from details left outer join valute on details.id_valute=valute._id where details.id_main = ?
каждому ? соответсвует _id из main
вот так.
1 списочек
select * from main
2 это балансы для каждой строки из списка 1
select details._id, details.summa, valute.name from details left outer join valute on details.id_valute=valute._id where details.id_main = ?
каждому ? соответсвует _id из main
вот так.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198