我有一个应用程序,用户在将数据发送到服务器时提交登录表单,并为其帐户创建连接。
在这方面,我有一个名为state的整数字段。
状态值为:1 表示连接,2 表示已连接,0 表示失败。
我想向用户显示一个对话框显示正在正在连接...
,然后检查连接状态如果返回0或2则关闭对话框 并显示相关消息否则,如果 15 秒后没有更改,则关闭对话框 并将状态更改为 0!
我怎样才能做到这个逻辑?
最佳答案
我假设您正在使用异步任务来创建网络。在这种情况下,您可以使用 onPreExecute 和 onPostExecute 方法。
有关网络调用和异步任务的更多信息,请阅读 http://developer.android.com/training/basics/network-ops/connecting.html 。不过,我在下面给出了简短的解释。
如果您创建一个对话框或在 onCreate 方法(或类似方法)中初始化它,您可以调用以下方法在调用开始和结束时显示和隐藏对话框
onPreExecute() {
dialog.show();
}
onPostExecute(Object result) {
dialog.dismiss();
}
您还可以通过使用 onProgressUpdate() 从 doInBackground 修改 UI。这将允许您通过调用方法publishProgress() 来调用对话框,同时在doInBackground 中执行逻辑。我不确定您应该调用该方法的确切位置,因为我不完全了解您的大局,但我希望这对您有所帮助
关于java - 显示进度对话框,直到条件成立或时间结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28338716/