Intereting Posts
JQuery Перетаскивание на сенсорных устройствах (iPad, Android) Создайте HorizontalScrollView внутри ViewPager или используйте фрагменты: Использование JAXB с Google Android Сохранить файл с помощью двоичной строки на Android через HTML5 Анализ данных для Android L не поддерживается. Поддерживается версия major.minor 51.0 Как предоставить возможность выбора Wi-Fi или GPRS для подключения к сети в приложении для Android Android Studio: установка завершилась неудачно, поскольку APK не был подписан Анимация пользовательского диалога программно Как настроить анимацию для первого просмотра из ViewFlipper Как исправить ошибку «process is bad» для Android Widget? Как установить высоту панели прогресса Android? Предотвращение нарушения слова в TextView Клавиатура bluetooth приведет к разрушению и восстановлению активности Как сделать паузу в течение 5 секунд, прежде чем рисовать следующую вещь на Android? Phonegap iOS / Android – Связывание папки www

Множественное определение игнорируется для нулевого количества

Я использую множественные числа для компиляции строки количества для приложения для Android. Я точно следую тому, что можно найти в учебниках:

res.getQuantityString( R.plurals.number_of_comments, commentsCount, commentsCount); 

Вот определение множественного числа:

 <?xml version="1.0" encoding="utf-8"?> <resources> <plurals name="number_of_comments"> <item quantity="zero">No comments</item> <item quantity="one">One comment</item> <item quantity="other">%d comments</item> </plurals> </resources> 

Интересно, что строка вывода нечетна для того, что я определил:

 commentsCount = 0 => "0 comments" commentsCount = 1 => "One comment" commentsCount = 2 => "2 comments" 

Я предполагаю, что это связано с тем, что в документах When the language requires special treatment of the number 0 (as in Arabic). Для zero количества. Есть ли способ заставить мое определение?

Solutions Collecting From Web of "Множественное определение игнорируется для нулевого количества"

Согласно документации :

Выбор используемой строки производится исключительно на основе грамматической необходимости. На английском языке строка для нуля будет проигнорирована, даже если количество равно 0, поскольку 0 не является грамматически отличным от 2 или любым другим числом, кроме 1 («нулевые книги», «одна книга», «две книги» и скоро).

Если вы все еще хотите использовать произвольную строку для нуля, вы можете загрузить другую строку, когда количество равно нулю:

 if (commentsCount == 0) str = res.getString(R.string.number_of_comments_zero); else str = res.getQuantityString(R.plurals.number_of_comments, commentsCount, commentsCount); 

Плюсы – это форма Юникода. Здесь все значение множественного числа. На английском языке множественное число для нуля равно 2, 3,4, поэтому вы должны, если еще это значение использовать другие строки для этого.