進度條-對話框

 
package com.yanjun;

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.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {
        /** Called when the activity is first created. */

TextView textView = null;
Button button ;
ProgressDialog progressDialog ;
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                textView = (TextView) findViewById(R.id.textView1);
                button = (Button) findViewById(R.id.button1);
                button.setOnClickListener(new OnClickListener() {
        
     public void onClick(View v) {
        // TODO Auto-generated method stub
        progress("下載數據中", "請稍等......");
        
     }
    });
                
        }

private void progress(String title, String message) {
    // TODO Auto-generated method stub
    progressDialog = new ProgressDialog(this);
    updateThread thread = new updateThread();
    //條形進度條
    progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    
    progressDialog.setMessage(message);
    progressDialog.setTitle(title);
    progressDialog.setProgress(0);
    progressDialog.setMax(100);
    progressDialog.show();
    thread.start();
}                
Handler handler = new Handler(){    
    
    public void handleMessage(Message msg) {    
     // TODO Auto-generated method stub        
     if(msg.what>=100){        
     progressDialog.cancel();             }        
     progressDialog.setProgress(msg.what);        
        
}                
    };                
    class updateThread extends Thread{        
     public void run(){    
        handler.sendEmptyMessage(0);            
        try {        
        updateThread.sleep(1000);    
        handler.sendEmptyMessage(10);                
        updateThread.sleep(1000);                
        handler.sendEmptyMessage(20);                
        updateThread.sleep(1000);                
        handler.sendEmptyMessage(30);            
        updateThread.sleep(1000);                
        handler.sendEmptyMessage(40);            
        updateThread.sleep(1000);            
        handler.sendEmptyMessage(50);            
        updateThread.sleep(1000);                
        handler.sendEmptyMessage(60);            
        updateThread.sleep(1000);                
        handler.sendEmptyMessage(70);            
        updateThread.sleep(1000);            
        handler.sendEmptyMessage(80);            
        updateThread.sleep(1000);
        handler.sendEmptyMessage(90);            
        updateThread.sleep(1000);
        handler.sendEmptyMessage(100);            
        updateThread.sleep(1000);                    
        } catch (InterruptedException e) {    
         // TODO Auto-generated catch block        
         e.printStackTrace();        
         }                    
        }        
     };
}                    
    

package com.yanjun;

import android.R.style;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
  /** Called when the activity is first created. */

  ProgressDialog progressDialog = null;

  @Override
  public void onCreate(Bundle icicle) {
    //是按鈕最爲桌面佈局
    super.onCreate(icicle);
    Button button = new Button(this);
    setContentView(button);
    
    button.setText(R.string.hello);
    button.setOnClickListener(myShowProgressDialog);
  }

  Button.OnClickListener myShowProgressDialog = new Button.OnClickListener() {

    public void onClick(View v) {
      // TODO Auto-generated method stub
      CharSequence charSequence = getString(R.string.dialog_title);
      CharSequence charSequence2 = getString(R.string.dialog_message);
      progressDialog = ProgressDialog.show(MainActivity.this,charSequence,charSequence2,true);
        
      new Thread(){

        @Override
        public void run() {
          try {
            sleep(3000);
          } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
          }finally{
            progressDialog.cancel();
          }
        }
        
      }.start();
    }

  };

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章