Проигрыватель Android XMLandroid


Answers

Чтобы приложение использовало форматированные строки из ресурсов, вы должны исправить свой xml. Так, например

<string name="app_name">Your App name, ver.%d</string>

следует заменить на

<string name="app_name">Your App name, ver.%1$d</string>

Вы можете увидеть это для деталей.

Question

У меня есть массив строк, в которых используется символ % . Правильный формат использования % is &#37; , Когда у меня есть строка в этом массиве с несколькими &#37; это дает мне эту ошибку.

 Multiple annotations found at this
 line:
 - error: Multiple substitutions specified in non-positional format;
   did you mean to add the formatted="false" attribute?
 - error: Found tag </item> where </string-array> is expected



использование

<string name="win_percentage">%d%% wins</string>

получить

80% wins как форматированная строка.

Я использую String.format() для String.format() числа вместо %d .




Это может быть случай, когда среда IDE становится слишком строгой.

Идея звуковая, в общем, вы должны указать порядок переменных замещения, чтобы вы добавляли ресурсы для другого языка, ваш код Java не нужно будет изменять. Однако есть две проблемы:

Во-первых, строка, такая как:

You will need %.5G %s

для использования по мере того, как вам понадобится 2.1200 мг , порядок будет одинаковым на любом языке, поскольку это количество массы всегда представляется в этом порядке с научной точки зрения.

Во-вторых, если вы указали порядок переменных на том языке, на котором указаны ваши ресурсы по умолчанию (например, на английском языке), вам нужно указать только позиции в строках ресурсов для языков, которые используют другой порядок для вашего языка по умолчанию.

Хорошей новостью является то, что это легко исправить. Несмотря на то, что нет необходимости указывать позиции, а среда IDE слишком строгая, просто укажите их в любом случае. Для примера выше используйте:

Вам понадобится% 1 $ .5G% 2 $ s




Трудный метод: используя знак малого процента, как показано ниже

 <string name="zone_50">Fat Burning (50&#65130; to 60&#65130;)</string> 

Процент входа в Википедии




Попробуйте это (справа):

<string name="content" formatted="false">Great application %s  ☞  %s  ☞  %s \\n\\nGo to download this application %s</string>



чтобы избежать символа процента, вам просто нужно %%

например :

String.format("%1$d%%", 10)

возвращает "10%"




Попробуйте использовать обратную косую черту перед ним, как показано ниже:

\%