差了很多资料,研究了两天showDialog()、onPrepareDialog()和onCreateDialog()的关系,但都没有想明白,今晚看了Android的源代码才终于弄清楚这三者是什么关系......
----> showDialog()调用createDialog()和onPrepareDialog(),其中createDialog()调用onCreateDialog()。
项目源码:
package com.bn.ex2s;
import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Sample2_19_Activity extends Activity
{
final int PROGRESS_DIALOG = 0;
final int INCREASE = 0;
final int MAX_COUNTER = 100;
ProgressDialog pd;
Handler hd;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button bok = (Button) this.findViewById(R.id.Button01);
bok.setOnClickListener
(
new OnClickListener()
{
@Override
public void onClick(View v)
{
showDialog(PROGRESS_DIALOG);
}
}
);
hd = new Handler()
{
@Override
public void handleMessage(Message msg) //必须重写此方法,用于接收数据
{
super.handleMessage(msg);