Обновление списка в Kotlin - PullRequest
1 голос
/ 16 апреля 2020

Итак, вот мой класс данных

data class Bestellung (var id:Int = 0, var anzahl:Int = 1, var speise:String? = null)

мой список

 private var bestellungList = ArrayList<Bestellung>() 

Попытка обновить список, если "speise" равно "s", но он не работает без каких-либо ошибок. .

  if (bestellungList.contains(Bestellung(speise = s))) {
            var i = bestellungList.indexOf(Bestellung(speise = s))
            bestellungList.set(i, Bestellung(anzahl = +1))

Ответы [ 3 ]

3 голосов
/ 16 апреля 2020

проблема в contains Пожалуйста, попробуйте это, если вы хотите проверить сначала:

if(bestellungList.any{ it.speise == "s" }) {
  // do add logic
} else {
  // do something else
}
2 голосов
/ 16 апреля 2020

Проблема в вашей contains части. Замените это так

val index = bestellungList.indexOfFirst { 
    it.speise == s
}
if (index >= 0) {
    bestellungList[index] = Bestellung(anzahl = +1)
}
0 голосов
/ 16 апреля 2020
if (bestellungList.any{ it.speise == "s" }) {
  bestellungList.addAll(Bestellung(anzahl = +1))
} else {
  // handle else statement also
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...