В предыдущем вопросе мне очень помогли с грамотным созданием ArrayList (за это искреннее спасибо). Вот модифицированные его конструкция и конструкция класса (вопросы под кодом):
import java.util.ArrayList;
import java.util.List;
public class Colors {
String name;
Integer r;
Integer g;
Integer b;
String hex;
String cmyk;
Boolean luminous;
Boolean metallic;
public Colors (String name, Integer r, Integer g, Integer b, String hex, String cmyk, Boolean luminous, Boolean metallic) {
setName(name);
setR(r);
setG(g);
setB(b);
setHex(hex);
setCmyk(cmyk);
setLuminous(luminous);
setMetallic(metallic);
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setR(Integer r) {
this.r = r;
}
public Integer getR() {
return r;
}
public void setG(Integer g) {
this.g = g;
}
public Integer getG() {
return g;
}
public void setB(Integer b) {
this.b = b;
}
public Integer getB() {
return b;
}
public void setHex(String hex) {
this.hex = hex;
}
public String getHex() {
return hex;
}
public void setCmyk(String cmyk) {
this.cmyk = cmyk;
}
public String getCmyk() {
return cmyk;
}
public void setLuminous(Boolean luminous) {
this.luminous = luminous;
}
public Boolean getLuminous() {
return luminous;
}
public void setMetallic(Boolean metallic) {
this.metallic = metallic;
}
public Boolean getMetallic() {
return metallic;
}
List<Colors> colorsArray = new ArrayList<>();
public void addColors() {
colorsArray.add(new Colors("1000", 205, 186, 136, "#cdba88", "5, 10, 40, 10", false, false));
colorsArray.add(new Colors("1001", 208, 176, 132, "#d0b084", "5, 20, 40, 10", false, false));
colorsArray.add(new Colors("1002", 210, 170, 109, "#d2aa6d", "5, 20, 50, 10", false, false));
System.out.println ("Размер массива равен '" + Integer.valueOf (colorsArray.size()) + "' элементам");
}
}
Проблемы и вопросы:
1. В активити создаю переменную с типом данных Colors.
Colors colors;
и пытаюсь достучаться до до array
System.out.println ("Размер массива равен '" + Integer.valueOf (colors.colorsArray.size()) + "' элементам");
приложение крашится.
2. Создать экземпляр класса тоже не могу:
Colors colors = new Colors();
3. А array вообще можно заранее заполнить без add()?
4. Данными из array я буду заполнять listview. Как получить доступ к элементам по их ключам name, r, g и т.д.?
Прошу прощение за, может, глупые вопросы, но проект горит, а перестроиться с iOS на Android для меня сложновато...