Nice programing

Android XML에서 여러 문자열을 연결하는 방법은 무엇입니까?

nicepro 2020. 10. 30. 20:58
반응형

Android XML에서 여러 문자열을 연결하는 방법은 무엇입니까?


이 질문에 이미 답변이 있습니다.

문제
Android XML 코드에서 다음과 같이 할 수 있기를 바랍니다.

<string name="title">@string/app_name test</string>
<string name="title2">@string/app_name @string/version_name</string>

코드 컴파일러의 첫 번째 줄과 관련하여이 오류가 표시됩니다.

주어진 이름과 일치하는 리소스가 없습니다 ( '@ string / app_name test'값이있는 'title')

코드 컴파일러의 두 번째 줄과 관련하여이 오류가 표시됩니다.

주어진 이름과 일치하는 리소스가 없습니다 ( '@ string / app_name @ string / version_name'값이있는 'title2').

질문
Android XML에서 여러 문자열을 연결하는 방법을 아는 사람이 있습니까?

이유
코드의 여러 위치 (이 경우 XML)에서 변수 값을 복제하는 것은 좋지 않습니다.


저도 비슷한 방법을 시도해 보았지만 Android에서는 불가능하다고 들었습니다.

흥미로운 것은 당신이 실제로 있음을 나타내는 오류 메시지를 얻을 수 있다는 것입니다 입니다 수 있지만 인해 자원 매칭에 오류가 가능해 옳지 않아합니다. ( "title"및 "title2"문자열 앞에 "app_name"및 "version_name"문자열을 정의 했습니까?)

그러나 다음과 같이 할 수 있습니다.

<string name="title">%1$s test</string>
<string name="title2">%1$s %2$s</string>

<string name="app_name">AppName</string>
<string name="version_name">1.2</string>

그런 다음 Java 코드에서 다음과 같은 작업을 수행하십시오.

Resources res = getResources();
String appName = res.getString(R.string.app_name);
String versionName = res.getString(R.string.version_name);

String title = res.getString(R.string.title, appName);
String title2 = res.getString(R.string.title2, appName, versionName);

Android에서 문자열 형식 지정 에 대해 자세히 알아 보세요 .

도움이 되었기를 바랍니다.

참고 URL : https://stackoverflow.com/questions/5764548/how-to-concatenate-multiple-strings-in-android-xml

반응형