2013-07-26 169 views
0

我想在我的编码中添加对话框。该对话框可以弹出。假设用户按下ok按钮后对话框会关闭,但对话框会自动关闭。这是我的代码。任何问题?对话框自动关闭

private void updataAccount(int type){ 
    Iterator<AccountData> iteratorSort = commondata.account.values().iterator(); 
    while (iteratorSort.hasNext()){ 
     AccountData data = iteratorSort.next(); 
     if(data.id == Integer.parseInt(accountId[account_spn.getSelectedItemPosition()])) 
     { 
      if(type == INCOME_MODE){ 
       data.balance = data.balance+Double.parseDouble(value); 
       commondata.updateAccount(data); 
      }else if(type == PAYOUT_MODE){ 
       data.balance = data.balance-Double.parseDouble(value); 
       commondata.updateAccount(data); 
       if(data.balance < 0) 
       { 
        AlertDialog.Builder builder = new AlertDialog.Builder(this); 
        builder 
        .setTitle("Care Money") 
        .setMessage("Your amount in this account is negative!") 
        .setIcon(android.R.drawable.ic_dialog_alert) 
        .setPositiveButton("OK", new DialogInterface.OnClickListener() 
        { 
         public void onClick(DialogInterface dialog, int which) 
         {  
           dialog.dismiss(); 
        } 
        });      
       AlertDialog alert = builder.create(); 
         alert.show(); 
       } 
      } 
      return; 
     } 
    } 
+0

当你自动说,它是否在一定的时间或事件后做? – frogmanx

+0

@frogmanx yes.it在1秒钟后自动关闭对话框弹出。 – user2303640

+0

我没有看到任何导致此问题? –

回答

1

尝试使用此

builder.setCancelable(false); 
    builder.show(); 

取而代之的是

AlertDialog alert = builder.create(); 
      alert.show(); 
+0

http://stackoverflow.com/a/6494201/2594077,如果你想在AsyncTask – NewAndroidTechie

0

契丹请试试这个代码它工作正常,我希望这将有助于ü莫名其妙

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
        builder.setTitle("Error"); 
        builder.setMessage(error) 
          .setCancelable(false) 
          .setPositiveButton("OK", new DialogInterface.OnClickListener() { 
           public void onClick(DialogInterface dialog, int id) { 
            error=""; 
           } 
          }); 
        AlertDialog alert = builder.create(); 
        alert.show(); 
0

创建一个AsyncTask显示对话框,然后睡眠1000毫秒,然后关闭对话框。

+0

中实现对话框,请选中此项如何?对不起,我是一个新手。 – user2303640

+0

完美和完整的参考,欢呼声:http://developer.android.com/reference/android/os/AsyncTask.html – LuckyMe