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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • .deb版本cuda安装。

    .deb版本cuda安装。1.先记录下驱动问题:1).run形式安装cuda。清理原有显卡驱动后,先安装自己显卡对应的驱动,在步骤中出现”Wouldyouliketorunthenvidia-xconfigutilitytoautomaticallyupdateyourXconfigurationfile…”时,选择No。(这里是cuda自带的旧版本的驱动)。我安装cuda8.0时,是…

    2022年6月1日
    58
  • 最简单的基于FFMPEG的视频编码器(YUV编码为H.264)

    最简单的基于FFMPEG的视频编码器(YUV编码为H.264)本文介绍一个最简单的基于FFMPEG的视频编码器。该编码器实现了YUV420P的像素数据编码为H.264的压缩编码数据。编码器代码十分简单,但是每一行代码都很重要,适合好好研究一下。弄清楚了本代码也就基本弄清楚了FFMPEG的编码流程。目前我虽然已经调通了程序,但是还是有些地方没有完全搞明白,需要下一步继续探究然后补充内容。本程序使用最新版的类库(编译时间为2014.5.6),开发平台为VC2

    2022年7月16日
    13
  • voliate关键字[通俗易懂]

    voliate关键字[通俗易懂]1.voliate简介在上一篇文章中我们深入理解了java关键字synchronized,我们知道在java中还有一大神器就是关键volatile,可以说是和synchronized各领风骚,其中奥妙,我们来共同探讨下.通过上一篇的文章我们了解到synchronized是阻塞同步的,在线程竞争激烈的情况下会升级为重量级锁。而voliate就可以说是java虚拟机提供的最轻量级的同步锁。但它同时…

    2022年4月29日
    81
  • java的json解析几种方法_java读取json文件并解析

    java的json解析几种方法_java读取json文件并解析微信搜索关注“咖啡遇上代码”公众号,查看更多一、什么是JSONJSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于阅读和编写,同时也易于解析和生成,并有效地提升网络传输效率。二、JSON语法(1)数据在名称/值对中(2)数据由逗号分隔(3)大括号保存对象(4)中括号保存数…

    2022年10月5日
    0
  • 5.6(java学习笔记) queue

    5.6(java学习笔记) queue

    2021年6月14日
    111
  • java 入门面试题

    java 入门面试题起因焦虑。每次自己想跳槽的时候,内心总是担忧着那些面试题怎么解答。 很多问题在实际工作中并不会遇到,没有实际的解决问题经验,看过也记不住。 假如我明年需要换工作,那现在把下次的面试准备工作,拆分、融入到平时的每天中,会不会取得更满意的offer?目标收集网上各种经典的java面试题 做出答案,分享出去,和猿友讨论,不断进步 扩大知识图谱,扎实基础,梳理知识脉络…

    2022年5月27日
    34

发表回复

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

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