0
点赞
收藏
分享

微信扫一扫

Android中ProgressDialog的简单示例


建立android工程等工作都略去,Google一下就可以了。 

下面来介绍主要的Activity 
ProgressBarDemo.java 

  

package com.lveyo.android.demo.progressbar;  
  
import android.app.Activity;  
import android.app.ProgressDialog;  
import android.os.Bundle;  
import android.os.Handler;  
import android.os.Message;  
import android.view.View;  
import android.widget.Button;  
import android.widget.TextView;  
  
public class ProgressBarDemo extends Activity {  
      
private TextView statusTextView;  
private Button beginBtn;  
private ProgressDialog progressDialog;  
      
@Override  
public void onCreate(Bundle savedInstanceState) {  
super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        statusTextView = (TextView)findViewById(R.id.status);  
        beginBtn = (Button)findViewById(R.id.beginBtn);  
        setListener();  
    }  
      
/**
     * 用Handler来更新UI
     */  
private Handler handler = new Handler(){  
  
@Override  
public void handleMessage(Message msg) {  
              
//关闭ProgressDialog  
            progressDialog.dismiss();  
              
//更新UI  
"Completed!");  
        }};  
      
          
/**
     * 点击按钮事件listener
     */  
private void setListener(){  
new View.OnClickListener() {  
              
@Override  
public void onClick(View v) {  
                  
//显示ProgressDialog  
this, "Loading...", "Please wait...", true, false);  
                  
//新建线程  
new Thread(){  
  
@Override  
public void run() {  
//需要花时间计算的方法  
4);  
                          
//向handler发消息  
0);  
                    }}.start();  
            }  
        });  
    }  
      
}




Calculation.java

 

  


package com.lveyo.android.demo.progressbar;  
  
/**
 * 示意方法
 * @author lveyo
 *
 */  
public class Calculation {  
      
public static void calculate(int sleepSeconds){  
try {  
1000);  
catch (Exception e) {  
// TODO: handle exception  
        }  
    }  
  
}

main.xml文件

 

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
android:orientation="vertical"  
android:layout_width="fill_parent"  
android:layout_height="fill_parent"  
>  
<TextView android:id="@+id/status"  
android:layout_width="fill_parent"   
android:layout_height="wrap_content"   
android:text="@string/hello"  
/>  
<Button android:id="@+id/beginBtn"  
android:layout_width="fill_parent"  
android:layout_height="wrap_content"  
android:text="begin"  
/>  
</LinearLayout>



在android中,通常我们无法在单独的线程中更新UI,而要在主线程中,这也就是为什么我们要使用 Handler了,当handler收到消息中,它会把它放入到队列中等待执行,通常来说这会很快被执行。

 


举报

相关推荐

0 条评论