android中的progressbar

来源:互联网 发布:c语言编程射击小游戏 编辑:程序博客网 时间:2024/05/19 23:12

网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下:

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

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

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  
            statusTextView.setText("Completed!");  
        }};  
      
          
    /** 
     * 点击按钮事件listener 
     */ 
    private void setListener(){  
        beginBtn.setOnClickListener(new View.OnClickListener() {  
              
            @Override 
            public void onClick(View v) {  
                  
                //显示ProgressDialog  
                progressDialog = ProgressDialog.show(ProgressBarDemo.this, "Loading...", "Please wait...", true, false);  
                  
                //新建线程  
                new Thread(){  
 
                    @Override 
                    public void run() {  
                        //需要花时间计算的方法  
                        Calculation.calculate(4);  
                          
                        //向handler发消息  
                        handler.sendEmptyMessage(0);  
                    }}.start();  
            }  
        });  
    }  
      


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jackyrongvip/archive/2010/02/05/5293166.aspx