2012-11-30 160 views
0

我試圖彈出一個對話框,當用戶覆蓋備份數據庫,所以我寫了這個代碼,但沒有奏效:對話框沒有顯示

$if(backupDB.exists()){ 
    AlertDialog.Builder builder = new AlertDialog.Builder(getBaseContext()); 
    builder.setTitle("Backup database..."); 
    builder.setMessage("You have already backup the database, do you want to overwrite?"); 

    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int item) { 
      Intent i=new Intent(getBaseContext(),FinancialSecretary.class); 
      finish(); 
      startActivity(i); 
     } 
    }); 
    AlertDialog dialog = builder.create(); 
} 

是什麼wronge?

+3

你忘了調用dialog.show();最後 –

回答

4

用於此代碼只是嘗試了這一點:

AlertDialog.Builder builder = new AlertDialog.Builder(ActivityName.this); 

和U任何需要的方式實現和最後一組顯示對話框,

builder.show(); 
+0

第一個是解決方案,但第二個沒有什麼不同。謝謝 –

+0

不好意思,第二個解決了這個問題。 –

2

您的代碼後,只需添加:

dialog.show(); 
+0

謝謝,這解決了第二個問題 –

0

是的你忘了把放映:)。

這是我喜歡使用的代碼,只是你需要什麼填滿它,並添加標題,你需要什麼:

新AlertDialog.Builder(本).setView(pozadina).setPositiveButton( 「OK」,新OnClickListener(){

 public void onClick(DialogInterface dialog, int which) { 


     } 


    }).setNegativeButton("Cancel", new OnClickListener() { 

     public void onClick(DialogInterface dialog, int which) { 


     } 
    }).show(); 
+0

謝謝,這解決了我的問題 –

0

有兩個問題:

1)創建對話框,您不能使用baseContext(),你應該使用活動:

AlertDialog.Builder builder = new AlertDialog.Builder(CurrentActivity.this); 

2)你忘了調用dialog.show()。