如何访问AlertDialog中的文本android的字符串资源
问题描述:
它可能会重复作为底部链接。对于我想问的具体问题或获得更快的答案,请参阅我的问题中的答案。否则,请转到以下链接。如何访问AlertDialog中的文本android的字符串资源
===================================== ========================================================== 我的问题:
我在问这个问题问题,即使有可能重复,但那些没有为我工作。
我试图访问
的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?以获取更多信息。您可以从Activity
或Fragment
答
使用它时,当你在Java代码中引用的字符串资源做getString
而不是getResources().getString(...)
,做正确的做法是:R.string.string_name
。
所以,你的代码应该像这样工作:
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle(R.string.AlertTitle) //AlertTitle
//...
感谢您的帮助。对此,我真的非常感激。 –