ProgressDialog 更新完后自动消失

        最近做一个单词卡项目。每次发给用户的是一个单元,该单元单词背诵完后,弹出对话框:

        

      如果用户点击“确定”,则从服务器下载下一个单元的单词。

我想设计成这样一种效果:用户点击“确定”后,弹出一个ProgressDialog,当客户端(android手机)成功地从服务端下载完下一个单元的单词后,ProgressDialog自动消失。重新显示背单词界面。

     在网上搜了很多资料,终于成功,具体代码是(只写关键部分):

public class CicooPuzzleMode extends Activity {

      private ProgressDialog mpDialog;
      private Handler handler;

      @Override
      protected void onCreate(Bundle savedInstanceState) {

        handler = new Handler(){
      @Override
       public void handleMessage(Message msg){
       if(msg.what == 0){
        mpDialog.dismiss();
    }
    super.handleMessage(msg);
   }
   
  };

}

 private Dialog buildDialogFinish(Context context) {
  AlertDialog.Builder builder = new AlertDialog.Builder(
    CicooPuzzleMode.this);
  builder.setIcon(android.R.drawable.ic_menu_help);
  builder.setMessage("恭喜你背完本单元单词,点击确定继续学习,点击取消退出程序!");
  builder.setPositiveButton(R.string.alert_dialog_ok,
    new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int whichButton) {
      mpDialog = new ProgressDialog(CicooPuzzleMode.this);
      mpDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
      mpDialog.setTitle("");
      mpDialog.setMessage("加载中...");
      mpDialog.setIndeterminate(true);
      mpDialog.show();
               new Thread(){
                   public void run(){
                       try{
                      //这里写ProgressDialog消失前,你要做的事情
                       handler.sendEmptyMessage(0);
                       }catch(Exception e){
                           e.printStackTrace();
                       }
                   }
               }.start();
     }
    });
  builder.setNegativeButton(R.string.alert_dialog_cancle,
    new DialogInterface.OnClickListener() {

     public void onClick(DialogInterface dialog, int whichButton) {

     }
    });

 

 

  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值