package org.progress;import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class ProgressActivity extends Activity {
    /** Called when the activity is first created. */
private Button mbutton1;
private TextView mtextview1;
public ProgressDialog mydialog=null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mbutton1=(Button)findViewById(R.id.bt);
        mtextview1=(TextView)findViewById(R.id.tx);
        mbutton1.setOnClickListener(myprogress);
    }
    Button.OnClickListener myprogress=new Button.OnClickListener(){
     public void onClick(View arg0)
     {
     mydialog=ProgressDialog.show(
     ProgressActivity.this,
     "加载中...",
     "请稍等片刻...",
     true
     );
     mtextview1.setText("请稍后");
     new Thread(){
     public void run(){
     try{
     sleep(3000);
     }catch(Exception e){
     e.printStackTrace();
     }finally{
     mydialog.dismiss();
     }
     }
     }.start();
     }
    };
}有一段代码。。不知怎么改一下,,现在的情况是  Aactivity页面上有个按钮,,点击跳转到Bactivity页面,,B页面上通过wweb service获取数据我现在想要在A上面点击按钮,出现 请稍后字样,,当B加载完后,。请稍后消失,,,怎么做??

解决方案 »

  1.   

    显示:mydialog=ProgressDialog.show(
                    ProgressActivity.this,
                    "加载中...",
                    "请稍等片刻...",
                    true
                );
    消失:mydialog.dismiss();
      

  2.   

    开一个线程 用handler 发送接收开始结束消息。 
      

  3.   

    不能把这个dialog放到Bactivity上吗?
      

  4.   

    在AActivity中声明一个Handler对象,然后在
    ...
    sleep(3000);
    的后面向Handler发送一个消息,说明已经加载完成,
    最后Handler收到这个消息后就把对话框消失。
      

  5.   

    sleep(3000)不是你写的代码吗?
    这里执行完你的操作自己就接着下面发送消息了嘛
      

  6.   

    点击button时直接跳转,在BActivity中显示mydialog,同时开启多线程得到数据,完成加载后通知BActivity中的Handler关闭mydialog。
      

  7.   

    把这段代码放到BActivity中onCreate事件      mydialog=ProgressDialog.show(
                    ProgressActivity.this,
                    "加载中...",
                    "请稍等片刻...",
                    true
                );
                mtextview1.setText("请稍后");
                new Thread(){
                    public void run(){
                        try{
                            sleep(3000);//这里换成你访问WebService获得数据的代码
                            //最后通知Handler关闭mydialog
                        }catch(Exception e){
                            e.printStackTrace();
                        }
                    }
                }.start();