解除自定义对话框问题

时间:2010-08-16 14:38:45

标签: android dialog

我有一个自定义布局的对话框,当我按下按钮时我尝试关闭它:

private void showAboutDialog() { 

   dialog = new Dialog(MainMenu.this);
   dialog.setContentView(R.layout.about_dialog);
   dialog.setCancelable(true);
   dialog.setTitle(R.string.about_title);
   dialog.show();

   LayoutInflater inflater = (LayoutInflater)      
   getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
   View layout = inflater.inflate(R.layout.about_dialog,
           (ViewGroup) findViewById(R.id.layout_root));

Button closeButton = (Button) layout.findViewById(R.id.about_close_button);
closeButton.setOnClickListener(new Button.OnClickListener() {      
       public void onClick(View view) { 
       dialog.dismiss();     
       } 
});
}

但它不起作用。

1 个答案:

答案 0 :(得分:7)

你的听众没有被召唤。

替换:

Button closeButton = (Button) layout.findViewById(R.id.about_close_button);

使用:

Button closeButton = (Button) dialog.findViewById(R.id.about_close_button);

并删除上面的两行(LayoutInflater inflater = ...View layout = ...)。