2011-03-25 118 views
1

我在我的main.class文件中有一个简单的代码文本,它创建一个popup对话框。当我尝试使用finish();方法关闭popupdialog时,它会关闭整个应用程序,而不仅仅是弹出对话框。我该如何解决这个问题? (这是为Android,看看我的评论以及)。如何关闭弹出对话框?

这是代码:

Dialog dialog = new Dialog(this); 
dialog.setContentView(R.layout.start_dialog); 
dialog.setTitle("This is my custom dialog box"); 
dialog.setCancelable(true); 

//there are a lot of settings, for dialog, check them all out! 

//set up text 

TextView text = (TextView) dialog.findViewById(R.id.TextView01); 
text.setText(R.string.loss); 

//set up image view 
ImageView img = (ImageView) dialog.findViewById(R.id.ImageView01); 
img.setImageResource(R.drawable.golf_ball); 

//set up button 
Button button = (Button) dialog.findViewById(R.id.Button01); 

button.setOnClickListener(new OnClickListener() { 
     @Override 
      public void onClick(View v) { 
            finish(); 
         } 
       }); 
    //now that the dialog is set up, it's time to show it  
     dialog.show(); 
+0

什么编程语言/ OS /环境/等? – 2011-03-25 12:26:48

+0

作业问题... – 2011-03-25 12:47:13

+0

android mobile(JAVA)。 – jesmar 2011-03-25 13:02:16

回答

0

Jesmar,

您好,欢迎光临。

您可能打算在Dialog上使用dismiss功能。

button.setOnClickListener(new OnClickListener() { 
     @Override 
      public void onClick(View v) { 
            dialog.dismiss(); 
         } 
       }); 

干杯!

0
button.setOnClickListener(new OnClickListener() { 
     @Override 
      public void onClick(View v) { 
            finish(); 
         } 
       }); 

其实finish()属于你的活动,而不是你的对话框。做dialog.dismiss(),而不是

0

使用取消()或辞退()

button.setOnClickListener(new OnClickListener() { 
     @Override 
      public void onClick(View v) { 
            dialog.cancel(); 
         } 
       }); 

button.setOnClickListener(new OnClickListener() { 
     @Override 
      public void onClick(View v) { 
            dialog.dismiss(); 
         } 
       });