【Android】进度处理对话框(ProgressDialog)

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">
	<Button
	    android:id="@+id/btn"
	    android:layout_height="wrap_content"
	    android:layout_width="wrap_content"
	    android:text="查找网络连接"/>	    
	
</LinearLayout>

java代码如下:

package org.lxh.demo;
 
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;
 
public class Hello extends Activity {
	private Button btn = null;
	private static final int MAX_PROGRESS=100;
 
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState); // 生命周期方法
		super.setContentView(R.layout.main); // 设置要使用的布局管理器
		this.btn = (Button) super.findViewById(R.id.btn);
		this.btn.setOnClickListener(new OnClickListenerImpl());
	}
 
	private class OnClickListenerImpl implements OnClickListener {
 
		public void onClick(View v) {
			final ProgressDialog proDialog=new ProgressDialog(Hello.this);
			proDialog.setTitle("搜索网络");
			proDialog.setMessage("请耐心等待...");
			proDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
			proDialog.setMax(MAX_PROGRESS);
			proDialog.setProgress(30);
			proDialog.setButton("后台处理", new DialogInterface.OnClickListener() {
				
				public void onClick(DialogInterface arg0, int arg1) {
					proDialog.dismiss();
					
				}
			});
			proDialog.onStart();
			new Thread(){
				public void run(){
					for(int x=0;x<MAX_PROGRESS;x++){
					try {
						Thread.sleep(500);
					} catch (InterruptedException e) {
						
						e.printStackTrace();
					}
					proDialog.incrementProgressBy(1);
				}
					proDialog.dismiss();
			}}.start();
			proDialog.show();
		}
 
	}
 
}

效果运行如下:
在这里插入图片描述

发布了73 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40110781/article/details/104927856