2012-11-30 158 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()。