Android DialogFragment 进度条

标签 android android-fragments android-progressbar

我到处搜索,但找不到解决此问题的方法。

基本上我有一个登录屏幕,我试图让一个进度微调器在它登录到服务器(通过线程)时显示,然后在登录成功后将其关闭。它必须在改变方向时起作用。

我正在使用带有 Android 兼容性包的 DialogFragment 来制作进度条(找不到任何文档,only for basic\alert dialog),因为 showDialog() 是现在已弃用。现在我只是显示一个自定义消息框作为登录微调器。

总结:

  • 如何使用 DialogFragment 设置进度微调器。
  • 如何在方向更改后在另一个线程中将其关闭。

最佳答案

要显示进度微调器,只需覆盖 DialogFragment.onCreateDialog()在这样的对话框 fragment 中(无需覆盖 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;
}

至于从其他地方解除该对话框 fragment ,您需要掌握 FragmentManager (从您的下一个 FragmentActivityFragment) 并调用 popBackStack()就可以了(如果您在此期间不进行任何其他 fragment 事务)。

如果您的进度对话框 fragment 和下一个 Activity 之间有更多步骤/fragment 事务,您可能需要其他 popBackStack(...) 方法之一,该方法采用 ID 或标签将所有内容从堆栈中弹出到您的进度对话框 fragment 。

关于Android DialogFragment 进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7298962/

相关文章:

android - 如何为 android 开发 pocketsphinx 以从 77 次尝试中获得更好的阿拉伯语识别质量?

Android 应用程序强制关闭,请帮我找出错误

android - 如何在android中实现协议(protocol)缓冲

javascript - 使用WebView在现场调用JS

android - 带圆角的进度条?

java - 从后台堆栈中删除特定 fragment

android - 当您必须使用父 Activity 引用时,如何使用 `FragmentScenario` 单独测试 Fragment

android - onClickListener 在 fragment 中不起作用

Android自定义ProgressBar扭曲或加倍

android - 无法在 RemoteViews 上设置 ProgressDrawable