My task is to click on the button "add" in 1_activity, which sends me to 2_activity where i need to key my data into fields and click on the button "save", which saves the data and sends me back to the 1_activity, where i click on another button "see" and it sends me to 2_acitivty with filled data
1_activity
`public class MainActivity extends AppCompatActivity { ActivityMainBinding binding; public static final int CODE = 0; public static final String USER = "USER"; Intent i; public Form user; public String name;
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(data != null){
if(requestCode == CODE && resultCode == RESULT_OK){
binding.btnSee.setVisibility(View.VISIBLE); //here im changing the button
binding.btnAdd.setVisibility(View.INVISIBLE);
Bundle args = getIntent().getExtras();
if(args != null){
user = (Form) args.getSerializable(Form.class.getSimpleName());
assert user != null;
String name = user.getName(); // add data,given from the 2_activity
String surname = user.getSurname();
String address = user.getAddress();
String site = user.getSite();
int phone = user.getPhone();
user = new Form(name,surname,phone,site,address);
}
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
binding.btnSee.setVisibility(View.INVISIBLE);
binding.btnAdd.setOnClickListener(v -> {
i = new Intent(getApplicationContext(), UserForm.class);
startActivityForResult(i,CODE);
});
binding.btnSee.setOnClickListener(view -> {
i = new Intent(getApplicationContext(),UserForm.class);
i.putExtra(Form.class.getSimpleName(),user); //giving filled data back to 2_activity
startActivity(i);
});
}
}`
2_activity
`
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); EdgeToEdge.enable(this); binding = ActivityUserFormBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot());
Bundle args = getIntent().getExtras();
if(args != null){
user = (Form) args.getSerializable(Form.class.getSimpleName());
}
if(user != null){ *//this condition is being skipped, this is my problem*
binding.name.setText(user.getName());
binding.surname.setText(user.getSurname());
binding.phone.setText(String.valueOf(user.getPhone()));
binding.site.setText(user.getSite());
binding.address.setText(user.getAddress());
}
binding.btnSubmit.setOnClickListener(v -> {
String name = binding.name.getText().toString(); //filling entered data
String surname = binding.surname.getText().toString();
String address = binding.address.getText().toString();
String site = binding.site.getText().toString();
int phone = Integer.parseInt(binding.phone.getText().toString());
user = new Form(name,surname,phone,site,address);
intent = new Intent(getApplicationContext(),MainActivity.class); intent.putExtra(Form.class.getSimpleName(), user); //sending my data to 1_activity //intent.putExtra(INFO,user); setResult(RESULT_OK,intent); finish(); }); } }`
my Form class
public class Form implements Serializable { String name, surname, site, address; int phone;
public Form(String name, String surname,int phone, String site, String address){
this.name = name;
this.surname = surname;
this.site = site;
this.address = address;
this.phone = phone;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public void setAddress(String address) {
this.address = address;
}
public String getAddress() {
return address;
}
public int getPhone() {
return phone;
}
public void setPhone(int phone) {
this.phone = phone;
}`