2013-07-26 166 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