保存数据时应使用UI阻止进度指示器吗?

问题描述 投票:0回答:1

我有一个非常简单的疑问,但是我无论在哪里都找不到令人信服的答案。

假设我有一个简单的活动,其中包含一个表单和一个“保存”按钮。单击按钮后,我想显示一个进度对话框,显示“正在保存更改...”或类似的消息。但是,当查看“ Android进度对话框”的文档时,它会显示:

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

如果我正在加载数据,这是有道理的,在这种情况下,我应该使用进度指示器来代替数据的显示位置,并用回收站视图或一旦加载数据就使用的视图替换它。但是,事实并非如此,我正在保存数据,而不是加载数据。我可以在“保存”按钮内添加一个进度条,并禁用它以显示该过程已完成,但是我仍然有完整的表单。

我应该禁用该页面上的所有输入以及可能的操作或按钮吗?因为我不想让用户在保存表单时更改表单值或执行可能会影响表单值的操作,并且可能会更改最终导致完全持久化的数据。

或者我应该接受这种情况,即显示ProgressDialog并“防止用户与应用程序交互”是有意义的吗?

或者还有我看不到的更好的方法来执行此过程?谢谢

android progressdialog user-experience
1个回答
0
投票

如果必须保存其关键数据,那么我肯定会阻止UI直到保存完成。但是从用户的角度来看,我只会采用明显的方式,这样他们才能确切知道发生了什么(无论如何听起来都像您的意图)。

想必您要防止它们(a)按下后退按钮或(b)关闭应用程序-保存完成之前?

个人而言,我不会进入进度栏-我会更多地使用“正在加载”微调器,再加上某种形式的“正在保存,请稍候”消息,以使其非常明显地表明存在合理且可理解的原因他们要耐心,不要做(a)或(b)。

...然后,我会收到一些“保存的”消息,以确保它们完成操作(只需停止微调器/进度条)。

© www.soinside.com 2019 - 2024. All rights reserved.