2017-09-20 50 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()方法添加的對象,那麼你可以訪問這些模型