|
Передача HashSet<Object1,List<Object2>> в BaseExpandableListAdapter для ExpandableListView
|
|||
---|---|---|---|
#18+
Доброго дня. Пишу кастомный адаптер, унаследованный от BaseExpandableListAdapter для заполнения ExpandableListView. В адаптер передаётся коллекция HashSet, ключём в которой является объект. Это не специально, так получилось т.к. я захотел что бы у заголовков групп был не только текст, но и картинка. И простой int или String в качестве ключа уже не подходит. Соответственно получилось: Адаптер Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61.
И тут, ещё не добравшись до "сложных" методов getGroupView и getChildView, с которыми ещё придётся повозиться, настал полный ступор. C getGroupCount разобрался, но не понимаю что писать в getChildrenCount getGroup getChild getGroupId getChildId isChildSelectable Ведь во всех них на вход подаётся int groupPosition ! А в некоторых ещё и int childPosition, но с этим по идее понятно. Ведь значениями у ключей моей HashMap является коллекция, реализующая интерфейс List, там "на первый-второй рассчитайся" можно сделать, перечисляемая коллекция. Но у меня нет номера ключа коллекции HashSet, откуда его взять вообще? Класс объектов, используемого в качестве ключа - MuscleGroup Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66.
В принципе в нём есть поле ID - оно 100% уникально т.к. это первичный ключ из БД. Можно использовать его под groupPosition, сделать проброс из класса ключа в адаптер? Что-то говорит что что могут быть проблемы если это хоть как-то заработает вообще. Например если у последовательности в БД, формирующий это ID, будут "дырки" после удаления-добавления записей. В кратце, как нумеровать ключи в HashSet? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2016, 19:45 |
|
Передача HashSet<Object1,List<Object2>> в BaseExpandableListAdapter для ExpandableListView
|
|||
---|---|---|---|
#18+
в чем проблема завернуть, в удобный для тебя список ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2016, 20:02 |
|
Передача HashSet<Object1,List<Object2>> в BaseExpandableListAdapter для ExpandableListView
|
|||
---|---|---|---|
#18+
ты можешь использовать хоть ArrayList<Group> где class Group { private String GroupName; private ArrayList<Items> items; ... } да как угодно и зачем там тебе HashSet ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2016, 20:04 |
|
Передача HashSet<Object1,List<Object2>> в BaseExpandableListAdapter для ExpandableListView
|
|||
---|---|---|---|
#18+
Джибс, Но в качестве ключа опять же объект? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2016, 20:07 |
|
Передача HashSet<Object1,List<Object2>> в BaseExpandableListAdapter для ExpandableListView
|
|||
---|---|---|---|
#18+
ArvalonДжибс, Но в качестве ключа опять же объект? почему ? ArrayList<Group> groups= ... groups.get(1).items.get(1) ... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2016, 20:15 |
|
Передача HashSet<Object1,List<Object2>> в BaseExpandableListAdapter для ExpandableListView
|
|||
---|---|---|---|
#18+
Джибс, Так, это будет ArrayList<ArrayList<Group>> ? И класс Group, идущий в childItem может содержать всё что мне нужно. Но заголовок групп будет иметь только номер! Т.е. можно будет вычислить только номер вложенного ArrayList'a. А если необходимо в заголовке групп иметь не только цифру или текст, а ещё элемент (маленькую картинку, символ группы), то ArrayList не подходит. В нём же только элементы по номерам. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2016, 20:23 |
|
|
start [/forum/topic.php?fid=13&gotonew=1&tid=1331085]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
159ms |
get topic data: |
14ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 285ms |
0 / 0 |