如果我在一项活动中列出了某些项目(比如水果)。在这里,项目是从ROOM数据库中完全加载的。
单击Fruit
会将您带到FruitDetailPage
。当然,我必须使用Fruit
将Intent
传递给新活动。
但是最好做些什么?
fruit_id
并在新活动中从数据库中重新加载水果对象答案 0 :(得分:1)
传递对象会更好,因为捆绑包有大小限制,因此,随着对象字段的增加,您可能会捕获错误。您还需要保留更少的内存空间。最重要的是,您不必编写额外的代码即可从Parcelabe继承对象。
答案 1 :(得分:0)
在您的列表活动中:
int fruitId = 5;
Intent i = new Intent(this/*activity*/, FruitDetailPage.class);
i.putExtra("fruit_id", fruitId);
startActivity(i);
在您的FruitDetailPage活动中:
void onCreate(Bundle bundle) {
super.onCreate(bundle);
int fruitId = getIntent().getIntExtra("fruit_id", -1);
}