要显示进度微调器,只需像这样在对话框片段中覆盖DialogFragment.onCreateDialog()(无需覆盖onCreateView()
):
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
final ProgressDialog dialog = new ProgressDialog(getActivity());
//
dialog.setTitle(R.string.login_title);
dialog.setMessage(getString(R.string.login_message));
dialog.setIndeterminate(true);
dialog.setCancelable(false);
// etc...
return dialog;
}
至于从其他地方解除该对话框片段,您需要获取FragmentManager
(从您的 next FragmentActivity
or内部Fragment
)并调用popBackStack()
它(如果您同时不进行任何其他片段事务)。
如果您的进度对话框片段和下一个活动之间有更多的步骤/片段事务,您可能需要popBackStack(...)
使用 ID 或标签的其他方法之一将所有内容从堆栈中弹出到您的进度对话框片段。