我的问题是:
我有3个课程:
在MainActivity
中,内容为ContactFragment
。在MainActivity
中,我单击Add Button
转到AddNewContactActivity
我想要当我在Save Button
中单击AddNewContactActivity
并返回到MainActivity
时,我必须用ContactFragment
更新new data
我该怎么做?非常感谢你
答案 0 :(得分:0)
启动AddNewContactActivity时,请使用startActivityForResult启动它。 AddNewContactActivity可以传回表示成功和取消的结果代码。当开始活动收到成功结果代码时,它可以重新加载/刷新其内容。
参考:https://www.javatpoint.com/android-startactivityforresult-example
答案 1 :(得分:0)
使用startActivityForResult
。
private static int final ADD_CONTACT_CODE = 1;
// MainActivity
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == ADD_CONTACT_CODE && resultCode == RESULT_OK) {
// data is the contactIntent you set in AddNewContactActivity
// update your fragment here with that data
}
}
// addContactButton in MainActivity
onClick {
startActivityForResult(addNewContactIntent, ADD_CONTACT_CODE);
}
// AddNewContactActivity
// call this when you're finish adding contact
void finishAddContact() {
Intent contactIntent = Intent();
// add your added contact here
contactIntent.putExtra("added contact", addedContact)
setResult(RESULT_OK, contactIntent);
finishActivity(ADD_CONTACT_CODE); // this will close this activity returning to the MainActivity and calling its onActivityResult
}