安卓-进度处理对话框(ProgressDialog)

本文介绍了一个简单的Android应用程序示例,该程序使用按钮触发一个带有进度条的对话框来模拟网络加载过程。通过实现自定义监听器和线程,演示了如何在Android中进行网络操作并更新UI。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();
		}

	}

}


效果运行如下:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值