Я думаю, что @thoredge находится на правильном пути.Попробуйте заменить эту строку:
antworten.punk_str = String.valueOf(antworten.punktzahl);
На это:
antworten.punk_str = antworten.punktzahl.getClass().getName();
Если punktzahl
действительно long
, вы должны получить синтаксическую ошибку.В противном случае вы увидите, что класс Java и Android думают, что это на самом деле.
Есть два способа, которыми я могу думать о том, что он может оказаться другим типом.Во-первых, как подсказывает @thoredge, вы фактически не получаете класс antworten
.Возможно ли, что у вас есть два разных класса с одинаковыми именами в разных пакетах вашего проекта?
Может быть com.zombies.survive.antworten
и com.zombies.antworten
?
Возможно, вы смотрите настарая копия antworten
?Возможно, он не был перекомпилирован, и более ранняя версия фактически использовала String
.Попробуйте сделать make-clean / build-all (Проект> Очистить в Eclipse).Попробуйте перезапустить вашу IDE.Попробуйте удалить источник или даже проект и вывести его из-под контроля исходного кода с нуля.
Последнее, о чем я могу подумать, это то, что это может быть проблемой Classpath.Есть ли вероятность, что у вас есть jar-файл в проекте с классом «antworten», который вы могли бы получить вместо того, который вы ожидаете?В прошлом я видел некоторые очень странные вещи, например, когда в WebSphere были установлены два приложения, и они использовали разные версии одной и той же библиотеки.На пути к классам были две разные версии одного и того же класса.Результат был полностью загадочным.У меня был очень неприятный день, когда я помогал коллеге разобраться.Поэтому убедитесь, что с вами этого не происходит.