无法在其他类Android(Java)中使用构造函数

时间:2019-09-30 10:34:11

标签: java android

我正在尝试创建一个列表视图,每个列表元素具有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;
    }
}

是什么原因引起的问题?

2 个答案:

答案 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;
    }
}