在我的应用程序中,我使用此类作为模型:
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
简单的方法,您可以使用Gson
库,将其添加到build.gradle,它将列表序列化为JSON
并将其保存到SharePreference
implementation 'com.google.code.gson:gson:2.8.6'