-1

我不确定我的代码有什么问题,我认为它与 dialog.dismiss 有关,但也许我错了......我正在尝试设置一个对话框,当用户按下确定时,一封电子邮件将被发送到一些电子邮件。这是代码:

final Dialog dialog = new Dialog(this);
                dialog.setContentView(R.layout.send_dialog);
                dialog.setTitle(R.string.send_dialog_title);
                Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
                dialogButton.setOnClickListener(new OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        dialog.dismiss();
                        final EditText nameField = (EditText) findViewById(R.id.DialogEditTextName);  
                        String name = nameField.getText().toString();  
                        final EditText commentField = (EditText) findViewById(R.id.DialogEditTextComments);  
                        String comment = commentField.getText().toString();  
                        Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND);
                        sendIntent.setType("image/*");
                        sendIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] { "origameapp@gmail.com" }); 
                        sendIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"Picture for Facebook page");  
                        sendIntent.putExtra(android.content.Intent.EXTRA_TEXT,"NAME:"+name+".       "+comment);
                        sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(filepath[position])) );
                        startActivity(Intent.createChooser(sendIntent, "Send your picture with:"));
                    }
                });

                dialog.show();
4

2 回答 2

3

你需要打电话

 final EditText nameField = (EditText) dialog.findViewById(R.id.DialogEditTextName); 
 final EditText commentField = (EditText) dialog.findViewById(R.id.DialogEditTextComments);  
于 2013-10-15T10:44:29.407 回答
1

它必须向您显示错误。问题在于 findviewbyid,在对话框中搜索视图。改用这些行。

final EditText nameField = (EditText) dialog.findViewById(R.id.DialogEditTextName); 
final EditText commentField = (EditText) dialog.findViewById(R.id.DialogEditTextComments);
于 2013-10-15T10:49:01.440 回答