我有活动A,其中我有一个URL类型的对象列表(使用类似()的方法)。
我在recyclelerview中加载这些URL对象用户点击该项目,然后打开另一个活动,打开活动B中的详细视图,用户可以在URL对象上按下一个调用“like”方法的按钮。
当用户关闭活动B时,我希望A的回收者视图反映此更改状态。
在Android中如何实现这一目标?
答案 0 :(得分:2)
对于这种用例,您应该按以下方式启动Activity-B:
Intent intent = new Intent(Context, Activity-B.class);
startActivityForResult(intent, some_int_code);
在活动B中,按照以下说明完成您的操作:
setResult(Activity.RESULT_OK, new Intent());
finish();
以上将通知您的Activity-A中的onActivityResult()
方法。然后,您可以按如下方式更新此方法中的任何内容:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK && requestCode == some_int_code) {
// Write your code here...
}
}
您可以阅读文档here
答案 1 :(得分:1)
您可以使用onActivityResult()通知第一个更改活动。
数据是否绑定到某些数据存储?如果是这样,最好根据更新的查询刷新recyclerview。
或者您可以编写一个“管理”这组数据的单例类,以便应用程序的其他部分可以访问所需的数据,更新等。如果您走这条路,我可能还建议实现一个观察者当数据发生更改时,任何感兴趣的组件都会收到更新。
所有这些都非常依赖于您的应用结构和用户互动。