转圏圏型的等待

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 {

privateTextView statusTextView;

privateButton beginBtn;

privateProgressDialog progressDialog;

@Override

public voidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

statusTextView = (TextView)findViewById(R.id.status);

beginBtn = (Button)findViewById(R.id.beginBtn);

setListener();

}

privateHandler handler = new Handler(){

@Override

public voidhandleMessage(Message msg) {

//关闭ProgressDialog

progressDialog.dismiss();

//更新UI

statusTextView.setText("Completed!");

}};

private voidsetListener(){

beginBtn.setOnClickListener(new View.OnClickListener() {

@Override

public voidonClick(View v) {

//显示ProgressDialog

progressDialog = ProgressDialog.show(ProgressBarDemo.this,"Loading...", "Please wait...", true, false);

//新建线程

newThread(){

@Override

public voidrun() {

//需要花时间计算的方法

Calculation.calculate(4);

//向handler发消息

handler.sendEmptyMessage(0);

}}.start();

}

});

}

}

Calculation.java

package com.lveyo.android.demo.progressbar;

public class Calculation {

publicstatic void calculate(int sleepSeconds){

try {

Thread.sleep(sleepSeconds * 1000);

} catch(Exception e) {

// TODO:handle exception

}

}

}

main.xml文件

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="begin"

/>

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐