Как я могу конкатенировать статические строки с XML-строковыми ресурсами?

Я пытаюсь совместить статическую «жестко закодированную» строку с одной ссылкой из strings.xml для элементов массива строк.

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

 <string-array name="interval_labels"> <item>30 @string/second</item> <item>1 @string/minute</item> <item>5 @string/minute</item> <item>10 @string/minute</item> <item>15 @string/minute</item> <item>30 @string/minute</item> <item>60 @string/minute</item> </string-array> 

Прямо сейчас, если я удалю номера перед @string/... , он работает хорошо (как упоминалось здесь ), но мне было интересно, есть ли способ получить ссылочную строку и связать ее с «жестко закодированным», один.

Solutions Collecting From Web of "Как я могу конкатенировать статические строки с XML-строковыми ресурсами?"

К сожалению, такой синтаксис не поддерживается файлами ресурсов Android.

Использование XML-объектов возможно.

 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE resources [ <!ENTITY mintues "minutes"> <!ENTITY minute "minute"> <!ENTITY seconds "seconds"> ]> <resources> <string-array name="interval_labels"> <item>30 &seconds;</item> <item>1 &minute;/item> <item>5 &minutes;</item> <item>10 &minutes;</item> <item>15 &minutes;</item> <item>30 &minutes;</item> <item>60 &minutes;</item> </string-array> </resources> 

Я использовал этот ответ: динамическая строка, использующая String.xml?

Существует способ сортировки получения этого эффекта путем определения строкового ресурса с помощью владельца места и использования перегрузки стиля getResourses().getString() в коде позади:

В string.xml

 <string name="secs">%1$d seconds</string> 

В activity_layout.xml

 <TextView android:id="@+id/secs_label" /> 

В TheActivity.java

 ((TextView)findViewByID(R.id.secs_label)).setText(getResources().getString(R.string.secs, 25));