2009-12-23 5 views
0

나는 내가 지역화 strings.xml의 파일을 가지고이 예제 문자열 폴더-KO 값을 제대로

이 내 머리를 ... 건 드리는 봤는데 XML 파일에서 문자열을 지역화되지 수 :

문자열을 my_string 문자열 @ 이/영어로 저장된 다음 텍스트가 "내 문자열"

를 레이아웃을 통해 지역화 된 문자열을 액세스 할 때, 그것을 잘 작동합니다.

코드에서 변경하려고하면 문제가 발생합니다.

문자열을 나중에 사용할 수 있도록 문자열 배열에 저장합니다. '컨텍스트'는 내 활동에서 데이터 클래스로 전달되며 다음 코드 행과 함께 사용됩니다.

dataStrings = new String [] {getString ;

나중에, 나는과 같이,이 문자열을 표시하려고 :

버튼 [0] .setText (dataStrings [0]);

이 표시 문자열 @

/나는 그것이 '@ 문자열 /'없이 문자열을 표시하려면 어떻게합니까

, 적절한 지역화 된 문자열을 my_string?

답변

2

getString() directly on the Context object을 실행할 수 있습니다. getResources()을 실행할 필요가 없습니다. 그러나 이것은 현재하고있는 것과 똑같은 일을해야하므로 문제의 원인이라고 생각하지 않습니다.

가장 먼저 확인해야 할 것은 생각하고있는 일이 일어나고 있다는 것입니다. 디버거를 사용하여 "@string/my_string"이 포함되어 있는지 확인하거나 하드 코드 된 값으로 setText()을 호출하여 올바른 버튼에서 실제로 텍스트가 업데이트되고 있는지 확인하십시오. buttons[0].setText("StackOverflow!");

+0

감사합니다. Dave! 문자열 내용을 확인한 후에 잘못된 배열 색인 (배열이 게시 된 예제보다 훨씬 큽니다)을 사용하고있는 것으로 나타났습니다. 또한 컨텍스트 개체에 대한 헤드 감사합니다. 컨텍스트에서 전달하지 않고 정적으로 호출 할 수있는 방법이 있습니까? 시도 : Context.getResources(). getString (R.string.my_string) 하지만 비 정적 메서드에서 사용할 수 없습니다. –

관련 문제