gpt4 book ai didi

java - Android Activity 重启

转载 作者:行者123 更新时间:2023-12-01 15:55:05 24 4
gpt4 key购买 nike

嘿伙计们,我正在制作一个 Android 应用程序,我想在每次应用程序启动时显示一个有关法律协议(protocol)的对话框,我有一个公共(public)方法 showalert(<>);它通过使用alertbuilder构建一个对话框来显示一个alertdialog。我在主 Activity 的 onCreate() 方法上添加了对 showalert() 方法的调用来显示它,但是每当用户旋转屏幕时,他每次都会收到对话框。当手机旋转时,该 Activity 会自行重新启动。我尝试将 android:configChanges="keyboardHidden|orientation"添加到我的 list 中,但这对这种情况没有帮助。我还可以知道如何在 list 文件上注册新的应用程序类。我正在尝试创建一个应用程序类,并将代码放在新类的 oncreate 方法上显示对话框。但应用程序启动时我无法加载该类。

我也检查了 Activity restart on rotation Android 但我似乎什么也没得到。我几乎是 Android 编程的新手,有人可以帮我简化一下吗?

如有任何帮助,我们将不胜感激。 :)

最佳答案

您可以查看 onRetainNonConfigurationInstance() Activity 方法,该方法在屏幕方向更改时销毁并重新创建 Activity 之前调用。

它允许您保留一个对象,该对象可以包含一个测试变量,以了解您的合法内容是否已显示。示例:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final String test = (String) getLastNonConfigurationInstance();
if (!("textAlreadyShown").equals(test)) {
//here : show your dialog
}
}

@Override
public String onRetainNonConfigurationInstance() {
return "textAlreadyShown";
}

关于java - Android Activity 重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5240631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com