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