我正在尝试创建一个列表视图,每个列表元素具有3个文本视图。
这是MainActivity.java中的声明值
ListView listView;
ArrayAdapter<String> arrayAdapter;
ArrayList<String> arrayList;
在onCreate函数中
我有以下代码:
listView = findViewById(R.id.listView);
String []elemnt1 = {"1", "2", "3"};
String []elemnt2 = {"3", "4", "5"};
String []elemnt3 = {"6", "7", "8"};
arrayList = new ArrayList<>();
for (int i=0;i<elemnt1.length;i++){
arraylist.add((new Element(elemnt2[i],elemmnt2[i],elemnt3[i])));
}
我在第二行出现错误
arraylist.add((new Element(elemnt2[i],elemmnt2[i],elemnt3[i])));
错误是
dataList.add((new Ride(dates[i],times[i],distances[i])));
我的Element类非常简单,它是一个构造函数和一个吸气剂:
public class Element {
private String fire;
private String earth;
private String water;
public Element(String fire, String earth, String water) {
this.fire = fire;
this.earth = earth;
this.water = water;
}
public String getFire() {
return this.fire;
}
public String getEarth() {
return this.Earth;
}
public String getWater() {
return this.Water;
}
}
是什么原因引起的问题?
答案 0 :(得分:2)
ArrayList<String>
读为String
类型对象的列表。因此,ArrayList<Element>
可能就是您要寻找的东西。
这就是为什么在add()
列表中尝试Element
类型String
的对象时会出错的原因。
另外,您的构造函数必须与类名匹配,因此将其更改为Element()
。
答案 1 :(得分:1)
ArrayList<Element> arrayList;
赋予构造函数和类相同的名称
public class Element {
private String fire;
private String earth;
private String water;
public Element(String fire, String earth, String water) {
this.fire = fire;
this.earth = earth;
this.water = water;
}
public String getFire() {
return this.fire;
}
public String getEarth() {
return this.Earth;
}
public String getWater() {
return this.Water;
}
}