我是Android的初学者。当我必须做一些操作时,我想“冻结”我的应用程序(我的意思是,用户无法执行任何操作)。 例如,我删除了我的一个SQLiteBase表的所有行。在这个过程中,我想显示一个进度条,用户在结束之前不能做任何事情。
我知道(一点点)进度条机制和AsyncTask但我发现它是一个重要的解决方案..有一个更简单的解决方案/实践?
答案 0 :(得分:2)
一般情况下,冻结不是建议的事情,您应该始终尝试允许用户取消或返回。等待操作完成是很烦人的。更多信息可以阅读here。
然而,有时你必须,你必须......
简而言之,这就是您展示ProgressDialog:
的方式ProgressDialog progressDialog = ProgressDialog.show(this, "dialog title",
"dialog message", false);
(“false”值使用户无法使用后退按钮取消它)
然后,当你需要解雇它时(如果使用AsyncTask,则在onPostExecute上),你只需调用:
progressDialog.dismiss();