Ошибка идентификатора строкового ресурса при установке текста в тексте редактирования

У меня есть следующий код.

if (j == 0) { // Age units.
    if (button.equals(findViewById(R.id.years)))
        q19Text.setText(yearsDiff);

    if (button.equals(findViewById(R.id.months)))
        q19Text.setText(monthsDiff);

    if (button.equals(findViewById(R.id.weeks)))
        q19Text.setText(daysDiff);

    if (button.equals(findViewById(R.id.days)))
        q19Text.setText(weeksDiff);
}

Кнопка — это радиокнопка. Любой, на который я нажимаю, дает мне эту ошибку

android.content.res.Resources$NotFoundException: String resource ID #0x2344

Но, как видите, я не пытаюсь получить доступ к файлу строковых ресурсов. Я пытаюсь установить текст уже созданного текста редактирования.

Почему я получаю эту ошибку?


person Cody Harness    schedule 14.12.2015    source источник


Ответы (1)


Вы используете метод setText(int id). Приведите свое целое число к строке, и все будет в порядке. Вы также можете добавить .setText("" + weeksDiff) к своему коду, и он будет рассматривать его как строку

person Pedro Oliveira    schedule 14.12.2015
comment
Однако здесь правильная идея: String.valueOf(weeksDiff) немного чище, чем concat для пустой строки. - person novak; 14.12.2015
comment
Вы также можете использовать этот .setText(String.format(%s, weekDiff)) - person Matthew Carpenter; 14.12.2015