使用Kotlin从另一个列表中提取的字符串创建列表

问题描述 投票:0回答:1

在我的应用程序中,我使用此类作为模型:

class ExpenseItem (val concept: String, val amount: String, val months: List<String>, val type: Type, val cards_image: Int, val payDay: Int, val notes: String) {

    enum class Type {RECURRENT, VARIABLE}
}

并且使用此模型,我创建了一个可变列表

var generalExpensesList: MutableList<ExpenseItem> = mutableListOf()

我添加项目

 val currentExpense = ExpenseItem(
                    concept,
                    amount,
                    listOfMonths,
                    enumtype,
                    card_image_number,
                    payday.toInt(),
                    notes
                )

                generalExpensesList.add(currentExpense)

如您所见,模型字段之一也是String类型列表,如果很重要的话

好吧,我的意图是将此列表转换为String,将其另存为sharedpreference,然后使用从sharedpreference检索的String创建一个新列表。要将列表转换为String,我可以使用toString或joinToString,两者都给我一个最佳结果。我想从字符串创建新列表时遇到问题。我可以使用类型为List<String>的列表来执行此操作,但是不能使用类型为List<ExpenseItem>]的列表来执行此操作

有人可以帮我吗?

在我的应用程序中,我使用此类作为模型:类ExpenseItem(val概念:字符串,val数量:字符串,val月:List ,val类型:类型,val cards_image:Int,val payDay:Int,val ...

android kotlin collections sharedpreferences
1个回答
1
投票

简单的方法,您可以使用Gson库,将其添加到build.gradle,它将列表序列化为JSON并将其保存到SharePreference

  implementation 'com.google.code.gson:gson:2.8.6'
© www.soinside.com 2019 - 2024. All rights reserved.