2013-06-05 170 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

例如:

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

res/values/strings.xml定義:

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

res/values-pl/strings.xml(波蘭語爲例):

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

:好的,謝謝! – George

+0

:正如你所說的那樣,它工作的很好,但我試圖在擴展Service的類中使用相同的方法,它給了我NullPointer.It只能在Activities中使用?謝謝! – George