为自定义对话框调用按钮事件

时间:2012-09-18 08:11:03

标签: java android

我正在尝试调用自定义对话框中的按钮单击事件。这是我的自定义对话框代码

protected Dialog onCreateDialog(int id) {
    Dialog dialog;
    switch(id) {
        case MY_DIALOG:
            dialog= getInstanceMyDialog();
            break;
        default:
            dialog = null;
    }
    return dialog;
}

private Dialog getInstanceMyDialog() {
    final Dialog bookMarkDialog= new Dialog(this,R.style.BookmarkDialogNoTitle);
    bookMarkDialog.setContentView(R.layout.bookmark_dialog);
    return bookMarkDialog;
}

我的对话框添加和取消中有两个按钮。 我不知道在哪里点击按钮点击事件。

请帮帮我。 提前致谢

2 个答案:

答案 0 :(得分:1)

private Dialog getInstanceMyDialog() {
  final Dialog bookMarkDialog= new Dialog(this,R.style.BookmarkDialogNoTitle);
  bookMarkDialog.setContentView(R.layout.bookmark_dialog);

  Button addButton = (Button)bookMarkDialog.findViewById(R.id.dialogAddButton);
  addButton.setOnClickListener(new OnClick .........)
  ......... same for cancel.

  return bookMarkDialog;
}

没有测试它但应该工作:)

答案 1 :(得分:0)

您可以为视图充气并为按钮设置监听器。

private Dialog getInstanceMyDialog() {
    final Dialog bookMarkDialog= new Dialog(this,R.style.BookmarkDialogNoTitle);
    LayoutInflater inflater = (LayoutInflater)context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
    View contentView = inflater.inflate(R.layout.bookmark_dialog, root);
    /// set the listener for your buttons.
    Button button1 = (Button) contentView.findViewById(R.id.button1);
    button1.setOnItemClickListener(this);

    bookMarkDialog.setContentView(contentView);
    return bookMarkDialog;
}