Как группировать по Arraylist многомерный - PullRequest
1 голос
/ 11 ноября 2019

Как мне сгруппировать по "группе", когда находится в подмодели?

Я пытался сделать это, но это приводит к ошибке

mtop.groupBy { it.sub[0].group }

это мой код

// my model

data class mTop(val kategori : String, val sub : ArrayList<mSub>)

data class mSub(val id_menu : String, val nama_menu : String, val gambar : String, val group : String)


// my activity

val mtop: ArrayList<mTop> = ArrayList()
val msub: ArrayList<mSub> = ArrayList()

mtop.add(mTop(header, msub))

извините, я часто спрашиваю на этом форуме, но никогда не помогал другим, потому что я новичок, и мой английский плохой. Спасибо

1 Ответ

0 голосов
/ 11 ноября 2019
mtop.groupBy { it.sub[0].group }

Ошибка, которую вы получаете, состоит в том, что sub пусто, и вы пытаетесь получить первый элемент.

Что вы, вероятно, можете сделать, это сделать фильтр перед попыткой groupBy:

mtop.filter{it.sub.isNotEmpty()}.groupBy{it.sub[0].group}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...