gpt4 book ai didi

android - DialogFragment 的 Dialog 在 conf 更改后丢失设置的属性

转载 作者:行者123 更新时间:2023-11-30 03:33:21 25 4
gpt4 key购买 nike

我使用以下代码按照新的“fragment 方式”创建了一个进度对话框:

public class DialogUpdateTrackRecords extends DialogFragment {

public static DialogUpdateTrackRecords newInstance() {
DialogUpdateTrackRecords frag = new DialogUpdateTrackRecords();
return frag;
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}

@Override
public ProgressDialog onCreateDialog(Bundle savedInstanceState) {
this.setCancelable(false);
ProgressDialog dialog= new ProgressDialog(getActivity());
dialog.setTitle("Caricamento tragitti");
dialog.setIndeterminate(true);
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setMessage("Sending something");

return dialog;
}
}

我通过这样的 Activity 展示它:

FragmentManager fm= getSupportFragmentManager();
uploadDialogFrament= (DialogFragment) getSupportFragmentManager().findFragmentByTag("sendDialog");
if(uploadDialogFrament!=null)
uploadDialogFrament.dismiss();
FragmentTransaction ft= fm.beginTransaction();

uploadDialogFrament= DialogUpdateTrackRecords.newInstance();
uploadDialogFrament.show(ft,"sendDialog");
fm.executePendingTransactions();
((ProgressDialog)uploadDialogFrament.getDialog()).setMax(trackRecordSize);
if( trackRecordSize > 1 )
((ProgressDialog)uploadDialogFrament.getDialog()).setIndeterminate(false);

如您所见,我获得了对对话框的引用并对其进行了设置(取决于我的需要)。一切都像一个魅力但是.. 如果我旋转设备,对话框将返回到其原始状态而不是保留(在示例中:栏被设置回不确定状态)我的新设置。我检查了我是否错误地创建和显示了一个新对话框,但事实并非如此。那么.. 我怎样才能保持我对 Activity 娱乐的改变?

最佳答案

你试过吗

setRetainInstance(true)

由于 DialogFragment 扩展了基础 Fragment,我很确定它会起作用。

关于android - DialogFragment 的 Dialog 在 conf 更改后丢失设置的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17035090/

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