繁体   English   中英

将ArrayList传递给新的Activity

[英]Passing an ArrayList to a new Activity

我是Java的新手,我在这里看到了此链接 ,我的问题非常相似,但是我不明白它是如何工作的。

我有一个带有几个变量的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);

我会避免像daentech所建议的那样公开声明任何内容,因为它绕过了广受赞誉的Java封装和数据保护机制。 而是尝试pedromss的链接。 也...

捆绑包是另一种选择,请看以下内容: https : //stackoverflow.com/a/6681784/3199478

在链接状态下,您可以将其设为公共静态变量:

public static List<Car> ExtraCars = new ArrayList<Car>();

为了检索Detail.java中的数据,您不需要getStringExtra,而只需使用:

String make = MainActivity.ExtraCars.get(index).make;

然后,您无需在意图中传递ArrayList

但是,这没有遵循Java的最佳做法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM