android-如何在AsyncTask中以最小加载时间(2秒)添加进度对话框

android-如何在AsyncTask中以最小加载时间(2秒)添加进度对话框,第1张

概述当用户单击按钮时,将从活动A转到活动B.但是,由于在活动B中将从Internet下载数据,因此我想添加一个进度对话框.有时,连接会非常快,不到一秒,有时会超过5秒.如果进度对话框显示<1秒,则对用户体验来说是非常糟糕的.因此,我想增加一个最小的加载时间,例如2秒.这意味着即使加载时间少

当用户单击按钮时,将从活动A转到活动B.
但是,由于在活动B中将从Internet下载数据,因此我想添加一个进度对话框.
有时,连接会非常快,不到一秒,有时会超过5秒.
如果进度对话框显示< 1秒,则对用户体验来说是非常糟糕的.
因此,我想增加一个最小的加载时间,例如2秒.
这意味着即使加载时间少于2秒,进度对话框也将至少显示2秒.
有没有办法做到这一点?

解决方法:

您可以使用以下代码.通过时间和对话框的对象.

public voID timerDelayRemoveDialog(long time, final Dialog d){    Handler handler = new Handler();     handler.postDelayed(new Runnable() {                   public voID run() {                            d.dismiss();                 }    }, time); }

EDITED

您可以使用以下示例代码:

class LoginProgresstask extends AsyncTask<String, Integer, Boolean> {  @OverrIDe  protected Boolean doInBackground(String... params) {    try {      Thread.sleep(4000);  // Do your real work here    } catch (InterruptedException e) {      e.printstacktrace();    }    return Boolean.TRUE;   // Return your real result here  }  @OverrIDe  protected voID onPreExecute() {    showDialog(AUTHORIZING_DIALOG);  }  @OverrIDe  protected voID onPostExecute(Boolean result) {    // result is the value returned from doInBackground    removeDialog(AUTHORIZING_DIALOG);    Intent i = new Intent(HelloAndroID.this, LandingActivity.class);    startActivity(i);  }}
总结

以上是内存溢出为你收集整理的android-如何在AsyncTask中以最小加载时间(2秒)添加进度对话框全部内容,希望文章能够帮你解决android-如何在AsyncTask中以最小加载时间(2秒)添加进度对话框所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1093550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存