2013-06-05 1 views
3

다른 언어를 지원하려면 예를 들어 res/values-el을 추가해야한다는 것을 알고 있습니다.AlertDialog 내 언어 변경

그리고 내가 그에 의해 변경할 수 없습니다 모든 버튼, TextViews 등

하지만 내 예를 들어 앱은하지만 AlertDialog를 사용하는 경우, 나는 등 제목의 언어를 변경할 수 있습니까?

... 
AlertDialog.Builder alt_bld = new AlertDialog.Builder(this); 
alt_bld.setMessage("Do you want to navigate to the saved position?") 
.setCancelable(false) 
.setPositiveButton("Navigate", 
alert.setTitle("Navigation");  
... 

사람이 서비스에서 자신이 사용해야 할하고자하는 경우 확인 :

mContext.getString(R.string.Title) //where mContext is the Context 

대신

getResources().getString(R.string.Title) 

답변

1

의 예, 당신은 단지 strings.xml에서이 제목 문자열을 얻을 필요 . 코드에서 문자열을 하드 코딩하지 마십시오. Documentation. 예를 들어

는 : res/values/strings.xml에서

alert.setTitle(getResources().getString(R.string.navigation)); 

당신은 정의 (예 : 폴란드어) res/values-pl/strings.xml에서

<string name="navigation">Navigation</string> 

가 :

<string name="navigation">Nawigacja</string> 
+0

: 좋아, 감사합니다! – George

+0

: 당신이 말한대로 잘 작동했지만 Service를 확장하는 클래스에서 동일한 접근법을 사용하려고 시도했으며 NullPointer를 제공합니다. 이것은 Activities에서만 작동합니다. 감사합니다! – George