`
fonter
  • 浏览: 869622 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android ProgressDialog 最佳处理方式

阅读更多

Android ProgressDialog 处理方式,在经过测试后,以下方法比较好

 

 private void initProgressDialog() {
  progressDialog = new ProgressDialog(this);
  progressDialog.setMessage(getString(R.string.progress));
  progressDialog.show();
  mHandler.postDelayed(runnable,1);
 }

 

	private Runnable runnable = new Runnable() {   
		  
	    public void run() {   
			list = getFireAppInfo();
			networkAppAdapter = new NetworkAppAdapter(getBaseContext(),
					list);
			networkfilterList.setAdapter(networkAppAdapter);
			MessageHandlerUtil.sendMessageToHandler(mHandler, 1);
	    }   
	  
	}; 

 

	private Handler mHandler = new Handler() {
		public void handleMessage(Message msg) {
			switch (msg.what) {
			case 1:
				if (progressDialog != null)
					progressDialog.dismiss();
				break;
			}
		}
	};

  

也有用下面的方法,但在特别的情况下会抛出异常

 

                private ProgressDialog progressDialog;
	private void initProgressDialog() {
		progressDialog = new ProgressDialog(this);
		progressDialog.setMessage("Progress..");
		progressDialog.show();
		new Thread(){
                                    public void run(){
                                       //也有用这方法的,但在特别的情况下会抛出异常
                                    }
                                }
	}

 

分享到:
评论
4 楼 fonter 2010-08-12  
Service使用Thread会引发超时,反之对于progressDialog使用Thread也会引发超时。
我苦闷
zk216fire 写道
fonter 写道
new ProgressDialog(this);  
zk216fire 写道
如果所有的耗时操作都是在Service里,在耗时操作期间,又想显示progressDialog的话,应该怎么做呢?

没试过。应该是差不多把这个ProgressDialog(this)改成ProgressDialog(getContext())应该可以。。。还得你自己试试看。。。  

试过,不行……  对于Service使用Thread会引发超时,反之对于progressDialog使用Thread也会引发超时。
我苦闷

不用苦闷,可以通过接口做。写一个接口,让Activity显示progressDialog
3 楼 zk216fire 2010-08-12  
fonter 写道
new ProgressDialog(this);  
zk216fire 写道
如果所有的耗时操作都是在Service里,在耗时操作期间,又想显示progressDialog的话,应该怎么做呢?

没试过。应该是差不多把这个ProgressDialog(this)改成ProgressDialog(getContext())应该可以。。。还得你自己试试看。。。  

试过,不行……  对于Service使用Thread会引发超时,反之对于progressDialog使用Thread也会引发超时。
我苦闷
2 楼 fonter 2010-08-11  
new ProgressDialog(this);  
zk216fire 写道
如果所有的耗时操作都是在Service里,在耗时操作期间,又想显示progressDialog的话,应该怎么做呢?

没试过。应该是差不多把这个ProgressDialog(this)改成ProgressDialog(getContext())应该可以。。。还得你自己试试看。。。  
1 楼 zk216fire 2010-08-11  
如果所有的耗时操作都是在Service里,在耗时操作期间,又想显示progressDialog的话,应该怎么做呢?

相关推荐

    android中ProgressDialog的使用

    这个"android中ProgressDialog的使用"主题主要涵盖了如何在Android应用中创建、配置和管理ProgressDialog,以及相关的最佳实践。 1. **ProgressDialog的创建** ProgressDialog可以通过继承自Activity的`showDialog...

    Android 自带progressDialog的使用

    随着Android版本的更新,推荐使用Kotlin协程处理异步操作,因为它提供了更好的错误处理和资源管理。在这种情况下,可以使用`ProgressDialog`的替代品,如`ProgressBar`配合`CoroutineScope`和`withContext...

    Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案

    本篇文章将深入探讨如何在Android中优雅地处理屏幕旋转,确保AsyncTask和ProgressDialog不受影响。 首先,我们需要理解Android的生命周期管理。当屏幕旋转时,系统默认会销毁当前Activity并重新创建,这就意味着...

    ProgressDialog进度条使用

    ProgressDialog显示为一个带有进度条的对话框,可以是旋转的菊花或者水平的进度条,给用户一种正在处理事情的反馈,提升用户体验。 在“ProgressDialog进度条使用Demo”中,我们将学习如何在Android应用中有效地...

    Android应用源码之进度条对话框Dem-IT计算机-毕业设计.zip

    此外,项目中可能还包括了相关论文的撰写,讨论了Android开发中的最佳实践和用户体验设计。这有助于学生理解如何将理论知识应用于实际项目,提高解决问题的能力。 总的来说,这个“Android应用源码之进度条对话框...

    Android安卓经典设计例程源代码-ProgressDialogSample.rar

    在Android开发中,ProgressDialog是一个非常重要的组件,它用于在用户执行长时间操作时提供反馈,显示一个带有进度条或简单文本的对话框,让用户知道应用程序正在处理任务并等待完成。"Android安卓经典设计例程源...

    Android应用源码之进度条对话框Demo源码-IT计算机-毕业设计.zip

    同时,可以学习如何根据Android的设计原则和最佳实践来优化用户界面,提高应用的可访问性和可用性。 总之,“Android应用源码之进度条对话框Demo源码”是一个很好的起点,可以帮助初学者理解和实践Android中的进度...

    android studio开发app项目027-ProgressDialogApp.rar

    通过这个项目,开发者不仅能学会使用ProgressDialog,还能加深对Android开发流程和最佳实践的理解,这对于任何初学者来说都是宝贵的经验。在实践中不断学习和掌握这些技能,可以提升开发效率,创建出更加流畅和用户...

    Android课件(4Dialog).zip

    综上所述,"Android课件(4Dialog).zip"应该涵盖了Android Dialog的基本用法、高级应用和最佳实践,对于学习和提升Android应用的用户体验设计有极大的帮助。通过深入学习和实践这些内容,开发者能够更好地掌握如何...

    Xamarin.Android 非UI线程更新UI

    5. **Android.App.ProgressDialog**: 当需要在后台执行耗时操作并希望向用户显示进度时,可以使用ProgressDialog。同样,需要确保在UI线程中显示和取消这个对话框。 6. **Java.Util.concurrent**: Java的并发库提供...

    Android入门到精通知识总结.pdf

    - **ProgressDialog**:显示加载进度,可以设置是否可取消,调用`dismiss()`关闭。 ### 8. **自定义控件** 自定义控件涉及创建自定义布局文件、扩展现有View类并重写其方法,以及在XML中引入自定义布局。 ### 9. *...

    Android简单的登陆注册

    为了存储用户信息,Android提供了多种方式。对于登录信息,通常使用SharedPreferences,这是一个轻量级的数据存储方式,适合保存少量关键信息,如Token。若需要长期存储用户数据,可以使用SQLite数据库。对于敏感...

    Android 等待提示动画源码.zip

    1. **ProgressDialog**: 在早期的Android版本中,ProgressDialog是常用的一种展示等待提示的方式。它是一个对话框,可以显示一个旋转的进度条,表示应用正在执行后台任务。ProgressDialog有两种模式:indeterminate...

    android 多线程 下载 更新 ui 例子

    不过,由于AsyncTask的限制(如任务数量限制),在处理大量或持续的后台任务时,它可能不是最佳选择。 3. **下载管理**:在实际应用中,Android提供了DownloadManager服务,它可以处理网络中断、自动恢复下载等复杂...

    android demo,进度条对话框Demo的源代码。

    在Android开发中,进度条对话框(ProgressDialog)是用户界面中的一个重要组件,它通常用于显示一个正在执行的长时间任务的进度,比如数据加载、文件上传或下载等操作。本示例是一个关于如何在Android应用中实现...

    Android 消息提示与对话框源代码

    - Android提供了多种类型的对话框:AlertDialog、ProgressDialog、DatePickerDialog、TimePickerDialog等。 - 创建一个基本的AlertDialog,需要通过`AlertDialog.Builder`构建,设置标题、消息、按钮等,然后调用`...

    Android progress前台运算.rar

    首先,Android提供了多种展示进度的方式,包括ProgressBar(进度条)和ProgressDialog(进度对话框)。ProgressBar通常作为固定在屏幕上的组件,可以是水平的或旋转的,用来表示一个操作的进度。ProgressDialog则是...

    android自定义dialog加载窗

    在Android中,加载效果可以通过`ProgressDialog`、自定义布局、动画库(如Lottie)等多种方式实现。开发者可能会测试不同动画的性能和视觉效果,以找到最佳的用户体验。 6. **代码实践**: 实现自定义Dialog时,...

    Android提示版本更新----源码

    在Android中,我们通常会使用`AsyncTask`或`IntentService`来执行后台下载任务,同时通过`ProgressDialog`或`ProgressBar`向用户展示下载进度。 在源码中,我们可能会看到以下几个关键部分: 1. **检查更新逻辑**...

    Android Fragments

    偏好设置是存储用户个性化设置的一种方式,而保存状态则是在Activity重启时确保数据不丢失的关键技术。 - **使用SharedPreferences**:介绍如何使用SharedPreferences来存储简单的键值对数据。 - **保存Fragment的...

Global site tag (gtag.js) - Google Analytics