如果我不希望用户与我的应用程序“交互”,则ProgressDialog替代?

时间:2017-08-21 14:46:55

标签: android progressdialog deprecated android-progressbar

注意:阅读,然后标记为“重复”

因此根据this android开发站点,ProgressDialog因以下原因而被弃用:

  

此类在API级别26中已弃用.ProgressDialog是一个模式对话框,阻止用户与应用程序进行交互。您应该使用 ProgressBar 等进度指示器,而不是使用此类,它可以嵌入到您应用的U I中。或者,您可以使用通知来通知用户任务的进度

但这对我来说并不合适。

在某些情况下,我不希望我的用户与我的应用互动。我不希望他离开当前的活动。以“创建新配方”页面为例。它将它保存到数据库中,当它完成后,它会返回主页面,它显示数据库中的所有收件人,并且他创建的配方尚未显示在列表中(因为它没有保存到数据库中) ),因此混淆了用户。

所以在上面提到的情况下,我是否被迫使用不赞成的东西?还是有替代方案吗?

1 个答案:

答案 0 :(得分:1)

  

我不希望他离开当前的活动

你没有太多选择。无论您是否喜欢,用户都可以导航到其他应用程序。

  

他创建的食谱尚未显示在列表中(因为它没有保存到数据库中),因此使用户感到困惑。

那么也许您应该更新数据库并同时更新列表。例如,列表可以在ArrayList<Recipe>之外运行,而不依赖于要完成的数据库I / O来显示新创建的配方。

此外,如果用于保存配方的数据库I / O花费的时间超过几百毫秒,则需要关注为什么您的数据库I / O需要这么长时间。将配方保存到本地数据库首先不需要ProgressDialog

  

所以在上面提到的情况下,我是否被迫使用不赞成的东西?还是有替代方案吗?

请勿阻止等待I / O完成的UI。

否则,使用ProgressDialog创建自己的AlertDialog对等项。或者,坚持使用已弃用的ProgressDialog