2013-10-15 3 views
-1

Я не уверен, что не так с моим кодом, я думаю, что это связано с dialog.dismiss, но, возможно, я ошибаюсь ... я пытаюсь установите диалог и, когда пользователь нажмет «ОК», электронное письмо будет отправлено на электронную почту. вот код:установить диалог, нажав ok, а затем отправить по электронной почте

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[] { "[email protected]" }); 
         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(); 

ответ

1

Он должен показывать вам ошибку. проблема с findviewbyid, поиск в вашем диалоговом окне. вместо этого используйте эти строки.

final EditText nameField = (EditText) dialog.findViewById(R.id.DialogEditTextName); 
final EditText commentField = (EditText) dialog.findViewById(R.id.DialogEditTextComments); 
+0

большое спасибо! которые решили проблему – arvivlx2

3

Вам нужно позвонить

final EditText nameField = (EditText) dialog.findViewById(R.id.DialogEditTextName); 
final EditText commentField = (EditText) dialog.findViewById(R.id.DialogEditTextComments); 
Смежные вопросы