已尝试在 StackOverflow 上搜索并测试所有可能性,但我仍然卡住了,如果这看起来像重复,请多多道歉!
这是我要实现的目标的概述:
我有一个用户资料。它由 UserProfileActivity 和 UserProfileFragment 组成,其中视图和数据投影在片段中处理。还传递了一个用户 ID (objectId) 以显示相应用户的个人资料。
在此用户配置文件上,您可以单击用户的关注者列表(由 ListFollowerActivity 和 ListFollowerFragment 组成)。在此关注者列表中,单击个人会再次导致 UserProfileActivity,这次使用不同的用户 ID。
目前正在发生的事情:
我目前用于从 ListFollowerFragment 加载 UserProfileActivity(带有新用户 ID)的代码是;
Intent intent = new Intent(parent, UserProfileActivity.class);
Bundle bundle = new Bundle();
bundle.putString(C.bundleKey.objectId, objectId); // objectId = user ID!
intent.putExtras(bundle);
startActivity(intent);
我已经从 ListFollowerFragment 中的重新加载意图中对对象 ID 执行了 out.println,它正确打印了正确的用户 ID。(被点击的用户的 ID。)
但实际上,该应用程序会再次重新加载相同的用户配置文件(这是以前的用户 ID,而不是新的用户 ID)。
如何让 UserProfileFragment 刷新数据(和视图)以反映正确的用户?
一些观察: 似乎 UserProfileActivity 只是从第二次和后续加载中的先前状态(先前的用户 ID)“恢复”。(我从 UserProfileActivity 中的 onCreate() 和 UserProfileFragment 中的 onCreateView() 执行的任何 out.println() 从第二次加载开始都无法读取,但在第一次加载时正确读取!)
在导航到 ListFollowerActivity 时,我还尝试在 UserProfileActivity 上完成(),并且所有后续加载的 UserProfileActivity 都使用正确的用户 ID,大概是因为活动被杀死并重新启动。但这也意味着用户无法返回导航。非常感谢任何帮助。谢谢!(: