gpt4 book ai didi

android - 如何在方向更改时保留日期时间对话框的状态?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:27:17 26 4
gpt4 key购买 nike

在方向改变时, Activity 被重新创建,日期时间对话框也被重新创建。我想保存已被用户更改的日期时间对话框的状态。

在关闭对话框之前,我想保留日期时间对话框的状态。

请注意,我可以关闭 onSaveInstanceState 中的对话框,其中我有可用的包。但是,当 Activity 进入暂停状态时它也会被调用,在这种情况下我不想关闭对话框。因此,决定在 onDestroy 方法上关闭它,但我那里没有 bundle 对象。这就是为什么我面临这个问题。有什么方法可以访问 onDestroy 中的包吗?或者对我的问题有任何其他建议,我们将不胜感激。

@Override
protected void onDestroy() {
if(dateTimeDialog !=null && dateTimeDialog.isShowing())
{
//<HERE I WANT THE STATE TO BE SAVED IN THE BUNDLE>
dateTimeDialog.dismiss();
}
super.onDestroy();
}

基本上,如果用户离开我们的应用程序,我们会锁定应用程序,并在解锁屏幕时恢复他正在查看的对话框。如果我们关闭 onSavedInstanceState 上的对话框,在解锁应用程序后它会调用 onRestart、start 和 resume 方法,其中没有一个将 Bundle 实例作为参数提供。

此外,我们有单独的横向和纵向布局,因此我们无法在 list 文件中设置 configChanges="orientation"。

最佳答案

您仍然可以在 onSaveIsntanceState() 中保留对话框状态,但仅在 onDestroy() 中关闭对话框,这应该可以满足您的要求。虽然我不确定 onDestroy() 中的对话框关闭会完成什么。

关于android - 如何在方向更改时保留日期时间对话框的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17995259/

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