Android:Resource:String
Android: Multiple substitutions specified in non-positional format
- Android: Multiple substitutions specified in non-positional format
- Multiple substitutions specified in non-positional format 에러
Android ADT 2.3에서 작업하다보면 Multiple substitutions specified in non-positional format에러가 나는 경우가 있습니다.
와 같이 여러개의 대체할수 있는 것을 넣는 경우 에러가 나는데 해결책은
입니다. 저렇게 쓰는 이유는 특정 Locale에서 순서가 바뀔 경우를 위해서 입니다.
여기 에서, 1$
, 2$
는 Argument 순서이다.
만약, 포맷적용 확인을 Disable하고 싶을 경우 아래와 같이 formatted="false"
속성을 추가하면 된다.
Plurals
단수, 복수 표현 string 처리는 Plurals
를 사용하면 된다.
Example
XML 예제는 아래와 같다.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<plurals name="numberOfSongsAvailable">
<item quantity="one">One song found.</item>
<item quantity="other">%d songs found.</item>
</plurals>
</resources>
Java 코드는 아래와 같다.