我在保存数据的视图模型文件中创建了一个可变列表
//questions they cheated on
var cheatedList = mutableListOf<Int>(6)
我将视图模型文件与具有这种功能的文件链接起来
private val quizViewModel : QuizViewModel by lazy {
ViewModelProviders.of(this).get(QuizViewModel::class.java)
}
它运行良好,我检查过了。我只需要将Integers的内容保存到一个可变列表中。。。我使用这个功能来完成
showAnswerButton.setOnClickListener {
val answerText = when{
answerIsTrue -> R.string.true_button
else -> R.string.false_button
}
answerTextView.setText(answerText)
//create a function to return the result to MainActivity
setAnswerShownResult(true)
cheaterStatus = true
quizViewModel.cheatedList.add(currentIndex)
println(quizViewModel.cheatedList)
}
好消息是,它将索引保存到列表中。。。坏消息是,一旦我回到另一个活动,列表就会被销毁,再也没有保存任何内容。。。即使关闭了活动,我如何保持可变列表的保存?
如果您希望即使在关闭并重新打开应用程序(非临时关闭(后也能保存数据,您可以使用Room等本地存储来保存数据。。。但是,如果你只想在会话中保存数据,那么正如Tenfour04所说,你可以使用一个活动和多个片段,并使用单个视图模型模式来保存。。。。。