2017-02-16 7 views
-2

Учитывая функцию, как показано ниже, AndroidStudio дает ошибку в отмеченной строке:Как исправить «тип массива, ожидаемый найденный java.util.arraylist»?

array type expected found java.util.arraylist 

Ошибки по возвращению, я не пришел accros этой проблемы раньше, поэтому я не знаю, решения, чтобы исправить это.

final ArrayList<String> Names = LName(); 

    IAxisValueFormatter IAxisVal = new IAxisValueFormatter() { 

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

почему вы не используете Names.get ((целое) значение); ? –

+0

Я предлагаю вам пройти учебники по java. – dullpointer

ответ

0

An ArrayList отличается от array.

Names - ArrayList, но вы используете его как массив.

Вы должны

return Names.get((int) value); 

Вместо

return Names[(int) value]; 
0

Для ArrayList использования получить функцию

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); 
     } 
    }; 
0

Вы используете ArrayList здесь, а не массив. Чтобы получить значение из arraylist, вы должны использовать функцию .get (значение int). Ваш код будет работать, если вы замените строку

return Names[(int) value]; 

с

return Names.get((int) value); 
Смежные вопросы