ProgressDialog的简单应用,等待提示

转载 2012年03月21日 15:32:28

在应用中经常会用到一些费时的操作,需要用户进行等待,比如加载网页内容……

这时候就需要一个提示来告诉用户程序正在执行,并没有假死或者真死……囧……

而ProgressBar、ProgressDialog等就是专门干这个的。


以ProgressDialog为例,一般的使用它步骤为:在执行耗时间的操作之前弹出ProgressDialog提示用户,然后开一个新线程,在新线程里执行耗时的操作,执行完毕之后通知主程序将ProgressDialog结束。

以下是一个demo,很简单的用法:

  1. package com.android.ui;  
  2.   
  3. import android.app.Activity;  
  4. import android.app.ProgressDialog;  
  5. import android.os.Bundle;  
  6. import android.os.Handler;  
  7. import android.os.Message;  
  8. import android.view.View;  
  9. import android.view.View.OnClickListener;  
  10. import android.widget.Button;  
  11.   
  12. public class MainActivity extends Activity {  
  13.   
  14.     private Button button;  
  15.     private ProgressDialog pd;  
  16.   
  17.     @Override  
  18.     public void onCreate(Bundle savedInstanceState) {  
  19.         super.onCreate(savedInstanceState);  
  20.         setContentView(R.layout.main);  
  21.   
  22.         button = (Button) findViewById(R.id.button1);  
  23.   
  24.         button.setOnClickListener(new OnClickListener() {  
  25.             @Override  
  26.             public void onClick(View v) {  
  27.                 /* 显示ProgressDialog */  
  28.                 pd = ProgressDialog.show(MainActivity.this"标题""加载中,请稍后……");  
  29.   
  30.                 /* 开启一个新线程,在新线程里执行耗时的方法 */  
  31.                 new Thread(new Runnable() {  
  32.                     @Override  
  33.                     public void run() {  
  34.                         spandTimeMethod();// 耗时的方法  
  35.                         handler.sendEmptyMessage(0);// 执行耗时的方法之后发送消给handler  
  36.                     }  
  37.   
  38.                 }).start();  
  39.             }  
  40.         });  
  41.   
  42.     }  
  43.   
  44.     private void spandTimeMethod() {  
  45.         try {  
  46.             Thread.sleep(5000);  
  47.         } catch (InterruptedException e) {  
  48.             // TODO Auto-generated catch block  
  49.             e.printStackTrace();  
  50.         }  
  51.     }  
  52.   
  53.     Handler handler = new Handler() {  
  54.         @Override  
  55.         public void handleMessage(Message msg) {// handler接收到消息后就会执行此方法  
  56.             pd.dismiss();// 关闭ProgressDialog  
  57.         }  
  58.     };  
  59. }  
main.xml中只有一个Button,就不贴了,程序应该很好理解,点击按钮后弹出ProgressDialog,在新线程中执行耗时操作(Thread.sleep(5000);),执行完毕之后通知handler,结束ProgressDialog。

运行效果如下:


Android自定义ProgressDialog进度等待框

Android自定义ProgressDialog进度等待框 这篇文章主要介绍了Android自定义ProgressDialog进度等待框,通过本文大家可以尝试利用Android自定义Prog...
  • Charles_dai001
  • Charles_dai001
  • 2016年11月19日 21:56
  • 870

android 两种异步进程ProgressDialog的显示效果。

android 两种异步进程ProgressDialog的显示效果。 AsyncTask new Thread(new Runnable()文章可能不太严谨 仅作存档。 AsyncTask 背景 c...
  • u012222078
  • u012222078
  • 2017年01月18日 11:16
  • 1019

Waiting Dialog 做一个透明的ProgressDialog等待框。

在values/styles.xml添加自定义style   Java代码   "TRANSDIALOG" parent="@android:style/Them...
  • duantao561
  • duantao561
  • 2015年04月02日 11:58
  • 842

使用ProgressDialog创建进度对话框

ProgressDialog代表了进度对话框,程序只要创建ProgressDialog实例,并将它显示出来就是一个对话框。有两种方法实现。 ①如果只是创建简单的进度对话框,那么调用ProgressDi...
  • a1967919189
  • a1967919189
  • 2016年07月09日 17:00
  • 462

一起学android之创建简单的ProgressDialog(30)

效果图: 参看以下代码: public class ProgressActivity extends Activity implements OnClickListener { // 最...
  • GULINHAI12
  • GULINHAI12
  • 2015年04月13日 14:04
  • 1520

ProgressDialog的详细使用总结

ProgressDialog的详细使用方式总结 简单演示 静态方法实例化ProgressDialog 常规方法实例化 设置样式 设置点击空白返回,返回键返回 设置按钮 调用Show方法将Dialog显...
  • qq_26971803
  • qq_26971803
  • 2016年03月24日 23:27
  • 1718

ProgressDialog进度对话框使用方法

进度对话框在平常的应用中很常见,比如下载的时候,打开页面的时候、转移文件等等。有环形的、有长条形的。基本就这两种 创建进度对话框的两种方式: 1、创建ProgressDialog实例,然后调用Pr...
  • wl724120268
  • wl724120268
  • 2016年03月01日 23:25
  • 1119

IOS的基本控件的使用-警告对话框&等待提示器

ViewController.h //  警告对话框&等待提示器 // //  Created by mac on 2016/10/28. //  Copyright © 20...
  • gaojian123321
  • gaojian123321
  • 2016年10月28日 16:19
  • 371

[工具类]JS实现的页面等待提示层

前提:使用jquery /** * 使用方法: * 开启:MaskUtil.mask(); * 关闭:MaskUtil.unmask(); * * MaskUtil.mask('其它提示文...
  • thc1987
  • thc1987
  • 2016年11月23日 15:25
  • 723

等待队列的简单使用

一、什么是等待队列     1、概念         等待队列是一种实现阻塞和唤醒的内核机制,很早就作为一个基本的功能单位出现在Linux内核中,它以队列为基础数据结构,与进程调度机制紧密结合,能够用...
  • silent123go
  • silent123go
  • 2016年09月20日 19:39
  • 1612
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ProgressDialog的简单应用,等待提示
举报原因:
原因补充:

(最多只允许输入30个字)