我是java的新手,我在这里看到了link,我的问题非常相似,但我不明白它是如何工作的。
我有一个带有一些变量的ArrayList,我如何填充这些变量并将其传递给一个新的活动?我的新活动名为Detail.java
我创建我的ArrayList为
public final List<Car> ExtraCars = new ArrayList<Car>();
所以我可以在下一个活动中使用,我不确定这是否是最佳使用方式。
这辆车的结构是:
public Car (String make, int year, int iconID, String condition){
super();
this.make = make;
this.year = year;
this.iconID = iconID;
this.condition = condition;
}
我想知道如何用一些随机变量填充这个ExtraCars,比如make = actualmake; 并将所有这些传递给Detail.java
还要在Detail.java上检索此信息,我应该这样做吗?
Intent intent = getIntent();
String make = intent.getStringExtra(MainActivity.ExtraCars.make);
答案 0 :(得分:2)
我会避免声明像daentech建议的那样公开,因为这会绕过备受好评的Java封装和数据保护机制。而是尝试pedromss'链接。也...
Bundles是另一种选择,看看这个: https://stackoverflow.com/a/6681784/3199478
答案 1 :(得分:-1)
作为链接状态的帖子,您可以将其设为公共静态变量:
public static List<Car> ExtraCars = new ArrayList<Car>();
为了检索Detail.java中的数据,您不需要使用getStringExtra,而只需使用:
String make = MainActivity.ExtraCars.get(index).make;
然后您不需要在意图
中传递ArrayList然而,这并不遵循java
的最佳实践