我有SecondActitivity,当它开始时,我分配特定的值:listTitle,dbJustForPlaing,currentCursorPosition,numberA等。
class SecondActivity : OptionMenuHelper() {
val listTitle: String by lazy { intent.getStringExtra(Values.listTitle) }
lateinit var dbJustForPlaing: DataBaseJustForPlaying
var currentCursorPosition: Int = -1
lateinit var cursorOfWholeList: Cursor
var lastCursorPosition: Int = -1
lateinit var oneRowCursor: Cursor
var numberA = 0
var numberB = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_personal_test)
//some functions
}
}
在使用此活动期间,变量正在更改。现在我想向SecondActivity添加按钮,如果用户按下它,所有变量都必须返回到与活动刚开始时相同的状态。最好的方法是什么?
我可以这样做:
fun startNewActitivy(){
val intent = Intent(this, SecondActitivity::class.java)
intent.putExtra("listTitle", listTitle)
startActivity(intent)
finish
}
但我不确定这是否是正确的做法。我需要一段代码,这将有助于将来轻松支持我的应用程序,并且还可以有效地消耗设备资源
正如Peyman在评论中指出的那样,只需创建一个设置变量默认值的函数。大致如下
:fun setVariableDefaultValues() {
currentCursorPosition = -1
lastCursorPosition = -1
numberA = 0
numberB = 0
}
然后,可以在要重置值的任何位置调用 setVariableDefaultValues()
方法。