Подтвердить что ты не робот

Можно ли объединить строки ресурсов Android в новые строки?

Android позволяет создавать псевдонимы строк ресурсов, например:

<resources>
 <string name="foo">somestring</string>
 <string name="bar">@string/foo</string>
</resources>

с помощью которого ресурс "bar" становится псевдонимом для ресурса с именем "foo".

То, что я хотел бы для моего приложения, - это возможность комбинировать существующий префикс ресурса с разными суффиксами, т.е. расширять его, как:

<resources>
 <string name="foo">foo</string>
 <string name="bar">@string/foo+bar</string> 
 <string name="else">@string/foo+else</string> 
</resources>

где ресурс "bar" даст строку "foobar". Ясно, что "+" здесь не работает, но есть ли другой способ достижения такой конкатенации строк, чтобы можно было определить кучу строковых ресурсов, которые имеют общий префикс?

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

Майкл

4b9b3361

Ответ 1

Нет, это невозможно. Вы можете просто использовать <string name="bar">This is my %s</string> а затем используйте String.format() в вашем приложении, чтобы заполнить эту переменную, например,

getResources().getString(R.string.foo);