如何访问AlertDialog中的文本android的字符串资源

问题描述:

它可能会重复作为底部链接。对于我想问的具体问题或获得更快的答案,请参阅我的问题中的答案。否则,请转到以下链接。如何访问AlertDialog中的文本android的字符串资源

Android: How do I get string from resources using its name?

===================================== ========================================================== 我的问题:

我在问这个问题问题,即使有可能重复,但那些没有为我工作。

我试图访问

的strings.xml

在AlertDialog但我似乎无法做到这一点。我曾经说过

.setTitle(@字符串/ ALERTTITLE)

在下面的下面的代码,但它没有工作,并给出了一个错误。 是否有任何可能的方式从AlertDialog获取字符串或者是不可能的?

下面的代码。

这是AlertMainActivity.java

AlertDialog dialog = new AlertDialog.Builder(this) 
         .setTitle("Add a New Task") //AlertTitle 
         .setMessage("What do you want to do next?") //AlertMessage 
         .setView(taskEditText) 
         .setPositiveButton("Add", new DialogInterface.OnClickListener() //Add { 
          ... 
         .setNegativeButton("Cancel", null) //Cancel 
          ... 
         } 

和strings.xml中

<string name="AlertTitle">Add a New Task</string> 
<string name="AlertMessage">What do you want to do next?</string> 
<string name="Add">Add</string> 
<string name="Cancel">Cancel</string> 

谢谢!

当使用字符串资源编程,你应该使用的

setTitle(getString(R.string.AlertTitle)); 

代替

.setTitle(@string/AlertTitle); 

而且对于这种特殊情况下有两种方法可以设置标题。无论是低谷资源ID,这将是R.string.AlertTitle或通过设置字符串,它可以从getString()

.setTitle(R.string.AlertTitle); 

看到Android: How do I get string from resources using its name?以获取更多信息。您可以从ActivityFragment

+0

感谢您的帮助。对此,我真的非常感激。 –

使用它时,当你在Java代码中引用的字符串资源做getString而不是getResources().getString(...),做正确的做法是:R.string.string_name

所以,你的代码应该像这样工作:

AlertDialog dialog = new AlertDialog.Builder(this) 
        .setTitle(R.string.AlertTitle) //AlertTitle 
        //...