我的应用程序从API提取数据,并用食品类别图像和名称填充回收者视图。当我单击任何图像时,将打开另一个活动,第二个活动将显示该类别的食物列表。但是,当我打开任何类别时,它第一次起作用,但是如果我按“返回”或“向上”按钮回到MainAcivity并点击其他任何类别,则“第二个”活动中的食物项不会改变(不会调用ViewModel的方法)。
在GitHub上查看完整代码:https://github.com/harshabhadra/Foodie/tree/master/app/src/main
这是MainAcivity的onClick方法。我通过Intent发送类别名称:
addSubview()
这是我的第二项活动:
greaterThanOrEqualTo
当我在MainAcivity中点击该类别时,我期望在第二活动中根据类别看到不同的食物列表。
答案 0 :(得分:0)
正在发生的事情是,您在loadData(category)
为空(即第一次运行)时在存储库中调用categoryData
。然后,它返回相同的实时数据,而不加载新的类别数据。
您只需要将loadData
移至if之外。或者,您实际上可以做的是延迟初始化categoryData
并摆脱if
。