Для обмена данными между действиями создайте класс модели Parcelable , в котором хранится ваша дата. Допустим, эти данные являются именем и адресом электронной почты.
public class FormData implements Parcelable {
private String name;
private String email;
// Add here fields you need
public FormData() {
}
protected FormData(Parcel parcel) {
this.name = parcel.readString();
this.email = parcel.readString();
// Restore here other fields. Order of fields is important. Use same order in writeToParcel
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeString(name);
parcel.writeString(email);
// Save here other fields. Order of fields is important. Use same order in constructor
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public static final Creator<FormData> CREATOR = new Creator<FormData>() {
@Override
public FormData createFromParcel(Parcel source) {
return new FormData(source);
}
@Override
public FormData[] newArray(int size) {
return new FormData[size];
}
};
}
Затем из ActivityA откройте ActivityB с помощью метода startActivityForResult . Внутри ActivityB, когда форма заполнена и нажата кнопка отправки, вы создаете экземпляр класса FormData, заполняете поля данными и возвращаете, как показано
Intent resultIntent = new Intent();
resultIntent.putExtra("result", formData);
setResult(RESULT_OK, resultIntent);
finish();
Затем вы можете получить результаты в методе ActivityAesResult
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
// Check request & result codes before
FormData formData = data.getParcelableExtra("result");
formData.getName();
formData.getEmail();
}