To make it more clear I'll call the first activity
(the one with the list) - ListActivity
, and the new activity
(the one with the buttons) - ButtonActivity
.
To detect the button that was pressed in ButtonActivity
add an implement to the class like this:
public class ButtonActivity extends AppCompatActivity implements View.OnClickListener
Then implement the method onClick(View v)
, like this :
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.your_save_button_id: {
Intent data = new Intent();
data.putExtra("item_to_save", item);
setResult(CommonStatusCodes.SUCCESS, data);
finish();
break;
}
case R.id.your_delete_button_id: {
Intent data = new Intent();
data.putExtra("item_to_delete", item);
setResult(CommonStatusCodes.SUCCESS, data);
finish();
break;
}
default: {
break;
}
}
}
In your ListActivity
:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == "request_code_for_button_activity") {
if (resultCode == CommonStatusCodes.SUCCESS) {
if (data != null) {
if (data.getStringExtra("item_to_delete") != null) {
//DELETE YOUR ITEM HERE
} else if (data.getStringExtra("item_to_save") != null) {
//SAVE YOUR ITEM HERE
}
}
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}