gpt4 book ai didi

android - 对话框在旋转时消失

转载 作者:行者123 更新时间:2023-11-30 03:12:45 27 4
gpt4 key购买 nike

在我的应用程序中,我有一个自定义对话框,当用户点击“关于”菜单项时会调用该对话框。

 public class AboutDialog extends Dialog {
...
?

...
AboutDialog dlg = new AboutDialog(ctx);
dlg.show();

我的应用有两个 Activity 。关于菜单项在两个 Activity 中都可用。

在第一个 Activity 中,如果在显示对话框时旋转设备,它会继续保持显示状态。然而,在第二个 Activity 中,对话框在旋转时消失了。

我没有任何逻辑可以轮换显示对话框。该框架使这一切自动发生。

我想知道是否有人想过为什么对话框可能会在第二个 Activity 中消失。

最佳答案

对话框将关闭,因为 Activity 在屏幕方向更改时重新创建。在 list 中的 Activity 中添加 android:configChanges="orientation" 可能能够解决问题,但不推荐这样做。最好的解决方案是使用 fragmentDialog。下面是调用 fragment 对话框的示例:

private void showFragmentDialog() {
FragmentManager fm = getChildFragmentManager(); //THIS IS USED WHEN YOU ARE NOT INSIDE AN ACTIVITY FRAGMENT else use getFragmentManager
DialogFragmentName dialog_fragment = new DialogFragmentName();
dialog_fragment.show(fm, "dialog_fragment");
}

这将是您的 FragmentDialog 类:

public class DialogFragmentName extends DialogFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.YOUR_DIALOG_LAYOUT, container);
//SETUP YOUR VIEWS HERE E.G.:
//Button btn = (Button) view.findViewById(R.id.VIEW_ID);

return view;
}
}

并将您的扩展更改为 FragmentActivity 而不是普通的 Activity 以使其工作。

关于android - 对话框在旋转时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20669396/

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