问题描述
我通过扩展AppCompatDialogFragment()
创建对话框。我有一个EditText
字段和一个正数/负数button
。当我单击正数button
时,我希望将值保留在EditText
上,因此,当我重新打开对话框时,该值将已经写入那里。
正向按钮(在onCreateDialog()
内部)-我向MainActivity
发送文本
.setPositiveButton("apply",DialogInterface.OnClickListener(){ _: DialogInterface,_: Int ->
(activity as MainActivity?)?.updateDelay(textDelay.text.toString())
})
解决方法
您可以使用一个接口,如果对话框关闭,该接口可以将值传回:
https://stackoverflow.com/a/27761620/9077356
如果您要永久存储该值并在整个项目中使用它,也可以将其存储在Sharedpreferences
中。
这是一个非常简单的有关如何使用SharedPreferences
的教程:
https://dev.to/victordgrandis/how-to-store-data-in-sharedpreferences-3a36
如果要在打开应用程序时保存此值 像在JAVA中那样使用静态值
public static String objectName = "";
和科特林
companion object {
var objectName : String= ""
}