有一些操作时有“冻结屏幕”的最佳做法(带进度条?)

时间:2013-03-30 10:43:21

标签: android

我是Android的初学者。当我必须做一些操作时,我想“冻结”我的应用程序(我的意思是,用户无法执行任何操作)。 例如,我删除了我的一个SQLiteBase表的所有行。在这个过程中,我想显示一个进度条,用户在结束之前不能做任何事情。

我知道(一点点)进度条机制和AsyncTask但我发现它是一个重要的解决方案..有一个更简单的解决方案/实践?

1 个答案:

答案 0 :(得分:2)

一般情况下,冻结不是建议的事情,您应该始终尝试允许用户取消或返回。等待操作完成是很烦人的。更多信息可以阅读here

然而,有时你必须,你必须......

简而言之,这就是您展示ProgressDialog

的方式
ProgressDialog progressDialog = ProgressDialog.show(this, "dialog title",
"dialog message", false);

(“false”值使用户无法使用后退按钮取消它)

然后,当你需要解雇它时(如果使用AsyncTask,则在onPostExecute上),你只需调用:

progressDialog.dismiss();