android - 如何从另一个活动刷新片段?
问题描述
我的问题是:
我有 3 节课:
- MainActivity.java
- ContactFragment.java
- AddNewContactActivity.java
在MainActivity
,它的内容ContactFragment
。从MainActivity
, 我点击Add Button
去AddNewContactActivity
我想当我点击Save Button
并AddNewContactActivity
返回时,MainActivity
我必须更新ContactFragment
new data
我怎样才能做到这一点?非常感谢
解决方案
使用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
}
推荐阅读
- angular - 滚动向下箭头时未突出显示 MatAutocomplete 选项
- javascript - 缓存从侦听器回调中获取的值
- pandas - 根据时间范围设置熊猫值
- entity-framework-core - 如何从代码优先迁移访问 UserManager?
- python-3.x - 我尝试在 Visual Studio 代码的终端中运行 python 文件,但它一直给我 synthax 错误
- r - filter_all 给了我相同的未过滤数据框
- python - 什么是 --use-feature=2020-resolver?在 ubuntu 上安装 jupyter 的错误消息
- javascript - How to hide the tick marks of the axis in react-chartjs-2
- javascript - 如何在数字和字母之间添加“-”
- robotframework - Robot Framework - 如何在 chrome 中下载 pdf 文件