Java 将ArrayList传递给新活动
我是java新手,我在这里看到了这一点,我的问题也很相似,但我不明白这是怎么回事 我有一个带有几个变量的ArrayList,如何填充这些变量并将其传递给新的活动?我的新活动名为Detail.java 我正在创建我的ArrayList作为Java 将ArrayList传递给新活动,java,android,arraylist,Java,Android,Arraylist,我是java新手,我在这里看到了这一点,我的问题也很相似,但我不明白这是怎么回事 我有一个带有几个变量的ArrayList,如何填充这些变量并将其传递给新的活动?我的新活动名为Detail.java 我正在创建我的ArrayList作为 public final List<Car> ExtraCars = new ArrayList<Car>(); 我想知道如何用一些随机变量来填充这些额外的内容,比如make=actualmake; 所有这些都将传递给Detail.ja
public final List<Car> ExtraCars = new ArrayList<Car>();
我想知道如何用一些随机变量来填充这些额外的内容,比如make=actualmake;
所有这些都将传递给Detail.java
为了在Detail.java上检索这些信息,我应该这样做吗
Intent intent = getIntent();
String make = intent.getStringExtra(MainActivity.ExtraCars.make);
由于post you链接状态,您可以将其设置为公共静态变量:
public static List<Car> ExtraCars = new ArrayList<Car>();
然后,不需要在intent中传递ArrayList
然而,这并没有遵循java的最佳实践,我会避免像daentech建议的那样公开声明任何内容,因为这绕过了备受赞誉的java封装和数据保护机制。相反,请尝试pedromss的链接。还有 捆绑包是另一个选项,请查看以下内容:
看看这是否对您有帮助:谢谢,我将阅读这篇文章,只需在类中声明一个公共函数,该函数将它包含在参数中。或者把它作为额外的意图来传递。或者其他一百万种方式。你想得太多了。活动仍然是一门课。这取决于你如何以及何时需要信息来构建它。糟糕的实现,违反了OOP的一些最有价值的原则,增加了耦合性,容易出错,内聚性低,并且不封装……这里的答案也是这样的,并且引用了Android文档中的一个公共静态字段。如果你看一下列表的底部,有一个答案的得票率比实际接受的多两倍,这是正确的方法,以这种方式引用静态是蹩脚代码的第一步……我道歉。这是一种更好的方法:)谢谢daentech,完全值得,我知道它对私有和公共有一些限制,但我对java不是太熟悉,这对我来说不是问题,我希望我的老师也不是问题。非常感谢!
public static List<Car> ExtraCars = new ArrayList<Car>();
String make = MainActivity.ExtraCars.get(index).make;