2017-09-20 34 views
-2

如何增加项目的ArrayList的Android如何增加项目的ArrayList <Model>安卓

我有型号(无构造函数,有setter和getter)

private int user_id; 
private String firstname; 
private String lastname; 
private String pic; 

和我的代码

List<MeModel> meModels = new ArrayList<>(); 

meModels.clear(); 
meModels.get(0).setFirstname("Hello"); 
meModels.get(0).setLastname("World"); 

它不工作。

如何添加此,谢谢!

+1

哪里是'meModels.add(新MeModel(...))'和'clear'从列表中删除 –

+0

一切@Pavneet_Singh天上,谢谢! !我忘了! –

+0

你为什么要清除列表?清除后如何从清单中获取数据? – Mafujul

回答

4

至于建议将List#clear()将清空你的列表中,这样你将不再有获得任何项目

List<MeModel> meModels = new ArrayList<>(); 

meModels.clear(); 
meModels.add(new MeModel(...)); 
// ^^^^^ add item 
meModels.get(0).setFirstname("Hello"); // get item 
meModels.get(0).setLastname("World"); 
+0

我很高兴我可以提供帮助,不用担心,您不必对自己发表评论,但有时会发生,愉快的编码 –

1

必须返回IndexOutOfBoundsException。因为列表中没有项目。你为什么不为你的模型创建一个构造函数?如果我是你,我会创建一个构造函数,做这样的事情:

Model model = new Model(); 
model.setBlahBlah(..); 
meModels.add(model); 
0

后通过Pavneet_Singh你必须先添加一个项目,然后才能访问它。像这样

List<MeModel> meModels = new ArrayList<>(); 
meModels.clear(); 
meModels.add(new MeModel()); 
meModels.get(0).setFirstname("Hello"); 
meModels.get(0).setLastname("World"); 

总之一个更高性能的方法是先costruct对象,然后将其添加到ArrayList,就像这样:

List<MeModel> meModels = new ArrayList<>(); 
meModels.clear(); 
MeModel meMod = new MeModel() 
meMod.setFirstname("Hello"); 
meMod.setLastname("World"); 
meModels.add(meMod); 

这是因为你可以通过这种方式看到你保存每行呼叫,即get(0)。这似乎是一个愚蠢的事情,但在一个大的迭代或在一个旧的和较弱的设备上,它可能是重要的

0

清除数据后,你如何访问该对象。 首先使用add()方法添加的对象,那么你可以访问这些模型