Я новичок, который отчаянно пытался понять, как добиться следующего: у меня есть 3 TextView, отображающие 3 числа c значения (всегда целые числа) на экране в виде текста, такие как: 50, 100, 200. Затем, после некоторого события, я хочу, чтобы эти 3 строки были указаны в качестве значений в моих PieEntries в ArrayList. Я не могу просто получить текст из TextView и поместить его в качестве значения для записи, поэтому я попытался использовать Integer.parseInt для чтения строк как целых (поскольку они на самом деле состоят из всех числа), или также Integer.valueOf, но я получаю только java .lang.NumberFormatException: для входной строки: «Первая» ошибка после cra sh. Это та часть, о которой я говорю:
ArrayList<PieEntry> myData(){
ArrayList<PieEntry> myArray = new ArrayList<PieEntry>();
arrayValue.add(new PieEntry(Integer.parseInt(TextView1.getText().toString()), "First"));
arrayValue.add(new PieEntry(Integer.parseInt(TextView2.getText().toString()), "Second"));
arrayValue.add(new PieEntry(Integer.parseInt(TextView3.getText().toString()), "Third"));
return graphValues;
}
Я не буду вставлять здесь весь код, так как график на самом деле работает нормально, если я вручную помещаю значения вместо попытки разобрать целые числа из TextViews. Также: когда я впервые начинаю набирать «new PieEntry», подсказка ясно говорит, что для этого потребуется «значение с плавающей запятой» (затем рисование или строка и т. Д.). Это где проблемы начинаются? Должен ли я каким-то образом преобразовывать строки в целые числа (или в числа с плавающей точкой?)? Я полагаю, что есть какое-то базовое правило, которое я игнорирую, поэтому я хотел бы понять, что здесь происходит и как с этим столкнуться. Большое спасибо!