ProgressDialog 使用

ProgressDialog 使用ProgressDialog[功能]ProgressDialog也是一种Dialog一般在出现ProgressDialog后台都会再开辟Thread来做一些耗时的工作我演示的是从100数到0这段时间既不太长不用浪费时间等待同时也能明显地看出效果[代码]1.ProgressDialog使用[code="java"]public…

大家好,又见面了,我是你们的朋友全栈君。ProgressDialog

[功能]

ProgressDialog 也是一种Dialog

一般 在出现ProgressDialog 后台都会再开辟Thread 来做一些耗时的工作 我演示的是从100数到0 这段时间既不太长 不用浪费时间等待 同时 也能明显地看出效果

[代码]

1. ProgressDialog 使用


public void startProgress(){
//to start Progress
pd = ProgressDialog.show(this, "loop from 100 to 0!", "is looping...", true,
false);
//pd.setIcon(R.drawable.icon);
}

2. 开辟一个Thread来从100数到0 在数完后 关闭ProgressDialog


public class TaskLoop implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
loop(5000);

messageListener.sendEmptyMessage(TASK_LOOP_COMPLETE);
}

}

public void loop(long i){
long j = i;
while(j>0){
Log.d("tag",j+"");

j = j-1;
}

}

3. 运行该Thread


Thread loop = new Thread(new TaskLoop());
loop.start();

4.定义一个Handler 用于接受 关闭ProgressDialog 的通知


private Handler messageListener = new Handler(){
public void handleMessage(Message msg) {
switch(msg.arg1){
case TASK_LOOP_COMPLETE:
pd.dismiss();
break;

}
}
};

[所有代码]


public class MyProgressUsage extends Activity {
public final static int TASK_LOOP_COMPLETE = 0;

ProgressDialog pd;

TextView tv;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

findViewById(R.id.start).setOnClickListener(new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
startLoop();
}
});
}

public void startLoop(){

startProgress();

Thread loop = new Thread(new TaskLoop());
loop.start();
}


public class TaskLoop implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
loop(5000);

messageListener.sendEmptyMessage(TASK_LOOP_COMPLETE);
}

}

public void startProgress(){
//to start Progress
pd = ProgressDialog.show(this, "loop from 100 to 0!", "is looping...", true,
false);
//pd.setIcon(R.drawable.icon);
}

//to do some time-cost task
public void loop(long i){
long j = i;
while(j>0){
Log.d("tag",j+"");

j = j-1;
}

}

private Handler messageListener = new Handler(){
public void handleMessage(Message msg) {
switch(msg.arg1){
case TASK_LOOP_COMPLETE:
pd.dismiss();
break;

}
}
};

}

[url]http://dl.iteye.com/upload/picture/pic/52676/11cd6622-cb13-337a-bd52-007185e972c0.png[/url]

over!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159136.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 获取impala下所有的数据库建表语句

    获取impala下所有的数据库建表语句本博文介绍三种方法,推荐使用第三种,前两种都是尝试。方法一:现在的导出还是有缺陷的,导出的文件中还是存在其他不必要的信息#!/bin/bash##获取数据库databases=$(hive-e”showdatabases;exit;”)fordatabasein$databases;do#获取hive建表语句tables=$(hive-e”use$database;showtables;”)for…

    2025年10月1日
    2
  • Idea激活码最新教程2024.2.1版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2024.2.1版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2024 2 1 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2024 2 1 成功激活

    2025年5月28日
    7
  • 字符串的匹配算法_多字符串匹配

    字符串的匹配算法_多字符串匹配文章目录BF算法RK算法编辑器中的全局替换方法:BM算法坏字符好后缀规则代码实现KMP算法一说到字符串匹配算法,不知道会有多少小伙伴不由自主的想起那个kmp算法呢?想到是很正常的,谁让它那么优秀呢。BF算法不要被事物的表面现象所迷惑,这个算法全称:BruteForce,有个拉风的中文名:暴力匹配算法。能想明白了吧。如果模式串长度为m,主串长度为n,那在主串中,就会有n-m+1个长度为m的子串,我们只需要暴力地对比这n-m+1个子串与模式串,就可以找出主串与模式串匹配的子串。.

    2022年8月21日
    7
  • POJ2965 状态压缩+BFS,DFS枚举,以及大牛的解法~

    POJ2965 状态压缩+BFS,DFS枚举,以及大牛的解法~

    2021年8月22日
    61
  • 一致性(Consistency),可用性(Avilable),分区容错性(Tolerance of network Partition)

    一致性(Consistency),可用性(Avilable),分区容错性(Tolerance of network Partition)网络摘抄理解:一致性:读操作总是能读取到之前完成的写操作结果,满足这个条件的系统称为强一致系统,这里的“之前”一般对同一个客户端而言;可用性:读写操作在单台机器发生故障的情况下仍然能够正常执行,而不需要等待发生故障的机器重启或者其上的服务迁移到其他机器;分区可容忍性:机器故障、网络故障、机房停电等异常情况下仍然能够满足一致性和可用性。自己的理解:一致性:如下图1中所示,Clie

    2022年7月25日
    20
  • 常用的go代理

    常用的go代理GOPROXY,目前国内常用的go代理goproxy.iohttps://goproxy.io,direct七牛云https://goproxy.cn阿里云https://mirrors.aliyun.com/goproxy/

    2022年7月26日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号