Android 如果对话框仅在主活动首次在Kotlin中执行时出现,我该怎么办?
我想设置我第一次进入主屏幕时只显示一次的Android 如果对话框仅在主活动首次在Kotlin中执行时出现,我该怎么办?,android,kotlin,Android,Kotlin,我想设置我第一次进入主屏幕时只显示一次的bottomsheetDialog。 当前,会在onStart函数中创建一个对话框,但如果执行此操作,即使从另一个活动切换到主活动,也会显示该对话框。 检查我的以下代码: override fun onStart() { super.onStart() val notifyBottomDialogFragment: BottomNotifyFragment = BottomNotifyFragment { when (it
bottomsheetDialog
。
当前,会在onStart
函数中创建一个对话框,但如果执行此操作,即使从另一个活动切换到主活动,也会显示该对话框。
检查我的以下代码:
override fun onStart() {
super.onStart()
val notifyBottomDialogFragment: BottomNotifyFragment = BottomNotifyFragment {
when (it)
{
}
}
notifyBottomDialogFragment.show(supportFragmentManager, notifyBottomDialogFragment.tag)
notifyBottomDialogFragment.isCancelable = false
}
可能尝试在
OnCreate
函数中显示一个对话框。并保存bool值以检查是否第一次创建活动(例如,用户旋转手机或进入分屏模式):
可能尝试在
OnCreate
函数中显示一个对话框。并保存bool值以检查是否第一次创建活动(例如,用户旋转手机或进入分屏模式):
您可以在SharedReference中使用布尔值,如下所示:
val prefs = PreferenceManager.getDefaultSharedPreferences()
prefs.edit().putBoolean("hasShownDialog", true).apply();
然后,在onStart或onCreate中,您可以检查首选项,如下所示:
val prefs = PreferenceManager.getDefaultSharedPreferences()
// you have to have a default value here
hasShownDialog = prefs.getBoolean("hasShownDialog",false)
if(!hasShownDialog){
showDialog()
}
您可以在SharedReference中使用布尔值,如下所示:
val prefs = PreferenceManager.getDefaultSharedPreferences()
prefs.edit().putBoolean("hasShownDialog", true).apply();
然后,在onStart或onCreate中,您可以检查首选项,如下所示:
val prefs = PreferenceManager.getDefaultSharedPreferences()
// you have to have a default value here
hasShownDialog = prefs.getBoolean("hasShownDialog",false)
if(!hasShownDialog){
showDialog()
}
考虑保存表单显示的事实,可以是共享首选项,也可以是一些文件。然后在下一个开始,看看它是否显示在前面。考虑保存一个事实,即显示表,可以是共享首选项,或者一些文件。然后在下一个onStart上,查看它之前是否显示过。