0

「To」フィールドを文字列配列から問題なく設定するインテントを呼び出していますが、「件名」および「テキスト」フィールドを設定することはできません。

うまくいけば、誰かが私が間違っているところを見ることができます

これが私のコードです:

package com.example.flybase2;

import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class ContactsEmail extends Activity implements OnClickListener{

    String emailPassed;
    String emailAdd;
    String emailSub;
    String emailMess;
    EditText setEmailAddress;
    EditText setEmailSubject;
    EditText setEmailMessage;
    Button btnSendEmail;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

    setContentView(R.layout.emaillayout);

    Bundle extras = getIntent().getExtras(); 
    if (extras != null) {
        emailPassed = extras.getString("passedEmailAdd"); 
    }

    setEmailAddress = (EditText) findViewById (R.id.inputEmailAddress);
    setEmailAddress.setText(emailPassed);
    setEmailSubject = (EditText) findViewById (R.id.inputEmailSubject);
    setEmailMessage = (EditText) findViewById (R.id.inputEmailMessage);

    emailAdd = setEmailAddress.getText().toString();
    emailSub = setEmailSubject.getText().toString();
    emailMess = setEmailMessage.getText().toString();

    btnSendEmail = (Button)findViewById(R.id.btnSendEmail);

    btnSendEmail.setOnClickListener(this);
    }

    @Override
    public void onClick(View sendEmailClick) {
        Intent sendEmailIntent = new Intent(Intent.ACTION_SEND); 
        sendEmailIntent.setType("plain/text");
        sendEmailIntent.putExtra(Intent.EXTRA_EMAIL,new String[] {emailAdd});  
        sendEmailIntent.putExtra(Intent.EXTRA_SUBJECT, emailSub); 
        sendEmailIntent.putExtra(Intent.EXTRA_TEXT, emailMess); 
        startActivity(Intent.createChooser(sendEmailIntent, "Send mail..."));   
    }
}   
4

1 に答える 1

0

これを試して。

実際、アクティビティが作成されると、これらの editext の値が取得されます。その時点で、これらの値はすべて空です。onclickしたがって、これらをメソッドに記述する必要があります。

ボタンをクリックすると、現在の編集テキスト値が取得されます。

これで問題が解決することを願っています。

@Override
public void onClick(View sendEmailClick) {
    emailAdd = setEmailAddress.getText().toString();
    emailSub = setEmailSubject.getText().toString();
    emailMess = setEmailMessage.getText().toString();
    Intent sendEmailIntent = new Intent(Intent.ACTION_SEND); 
    sendEmailIntent.setType("plain/text");
    sendEmailIntent.putExtra(Intent.EXTRA_EMAIL,new String[] {emailAdd});  
    sendEmailIntent.putExtra(Intent.EXTRA_SUBJECT, emailSub); 
    sendEmailIntent.putExtra(Intent.EXTRA_TEXT, emailMess); 
    startActivity(Intent.createChooser(sendEmailIntent, "Send mail..."));
}

メソッドからこれらの 3 行を削除しonCreate()ます。

emailAdd = setEmailAddress.getText().toString();
emailSub = setEmailSubject.getText().toString();
emailMess = setEmailMessage.getText().toString();
于 2013-02-05T17:50:56.993 に答える