关于android:如何修复“数组类型预期发现java.util.arraylist”?

How to fix “array type expected found java.util.arraylist”?

本问题已经有最佳答案,请猛点这里访问。

根据下面的函数,androidstudio在标记的行中给出了一个错误:

1
array type expected found java.util.arraylist

错误在返回时,我以前没有来过Accros这个问题,所以我不知道解决这个问题的方法。

1
2
3
4
5
6
7
8
9
final ArrayList<String> Names = LName();

    IAxisValueFormatter IAxisVal = new IAxisValueFormatter() {

        @Override
        public String getFormattedValue(float value, AxisBase axis) {
            return Names[(int) value];
        }
    };


这里使用的是数组列表,而不是数组。要从arraylist中获取值,必须使用函数.get(int value)。如果您替换行,您的代码将工作。

1
return Names[(int) value];

具有

1
return Names.get((int) value);

对于arraylist,使用get函数

1
2
3
4
5
6
7
8
9
10
final ArrayList<String> Names = LName();

    IAxisValueFormatter IAxisVal = new IAxisValueFormatter() {

        @Override
        public String getFormattedValue(float value, AxisBase axis) {
             int i = (int)value;
            return Names.get(i);
        }
    };


ArrayListarray不同。

Names是一个ArrayList,但您使用它就像一个数组。

你需要

1
return Names.get((int) value);

而不是

1
return Names[(int) value];