Генерация случайных чисел - PullRequest
       2

Генерация случайных чисел

0 голосов
/ 11 августа 2011

когда я выполняю код, показанный ниже

int random = (int)Math.ceil(Math.random()*100);
       Toast.makeText(getApplicationContext(), random, Toast.LENGTH_SHORT).show();  

я получаю этот журнал

E/AndroidRuntime(  994): java.lang.RuntimeException: Unable to start activity Co
    mponentInfo{com.p/com.p.main}: android.content.res.Resources$NotFoundException:
    String resource ID #0x4b

Не могли бы вы сказать мне, в чем ошибка?

Ответы [ 5 ]

4 голосов
/ 11 августа 2011

Насколько я понимаю: вы запрограммировали свое приложение для генерации случайного значения идентификатора, а затем запросили ресурс (т. Е. Текстовую строку из соответствующих файлов данных XML).Это очень мало шансов на фактическую работу, если у вас нет достаточного количества ресурсов в вашем распоряжении: 0x4b == 75, поэтому в этом случае он запрашивает строку с идентификатором 75, который вы, вероятно, не определили и, следовательно, сбой.

Да, см. Также документацию по Android: http://developer.android.com/reference/android/widget/Toast.html#makeText(android.content.Context, int, int)

2 голосов
/ 11 августа 2011

Используйте это:

Toast.makeText(getApplicationContext(), Integer.toString(random), Toast.LENGTH_SHORT).show();  

Toast (или даже TextViews) не принимает целые числа в качестве входных ресурсов, вы должны предоставить строковые ресурсы.

1 голос
/ 11 августа 2011

Если вы хотите просто отобразить случайное число:

Toast.makeText(getApplicationContext(), ""+random, Toast.LENGTH_SHORT).show();

Если вы хотите отобразить одну из предопределенных строк, просто поместите их в массив, затем выполните что-то вроде этого:

1 голос
/ 11 августа 2011

ну, вам нужно набрать приведение от целого числа к строке

попробуйте это

int random = (int)Math.ceil(Math.random()*100);
       Toast.makeText(getApplicationContext(), ""+random, Toast.LENGTH_SHORT).show();  
0 голосов
/ 11 августа 2011

Ошибка, которую вы получили, похоже, не связана с вашим кодом выше, так как она была вызвана до запуска вышеуказанного кода.Поскольку ресурс не является исключением для строки, я бы проверил ваши файлы макета и тому подобное, чтобы убедиться, что вы не используете строки, которые не были созданы в вашем strings.xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...