I want to pass an object from Activity to Main activity, i search for this but i can't use startActivityForResul because it is deprecated. So i use like this, but it tells can't cast from Serializable to Contact object. How can i fix this
Main activity:
ActivityResultLauncher<Intent> intentLauch = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
result -> {
if(result.getResultCode()== Activity.RESULT_OK){
Contact contact = getIntent().getSerializableExtra("data");//error here
}
}
);
binding.bntAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,AddActivity.class);
intentLauch.launch(intent);
}
});
Activity:
private void setUpBnt()
{
binding.bntSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name = binding.edName.getText().toString();
String phone = binding.edPhone.getText().toString();
String mail = binding.edMail.getText().toString();
Contact contact = new Contact(name,phone,mail,"");
Intent intent = new Intent(AddActivity.this,MainActivity.class);
intent.putExtra("data",contact);
setResult(Activity.RESULT_OK,intent);
finish();
}
});
}