Java 如何在android中访问AlertDialog中文本的字符串资源
它可以复制为底部链接。关于我想问的具体问题或想得到更快的答案,请参见我问题中的答案。否则,请转到以下链接 =========================================================================== 我的问题: 我问这个问题,虽然可能有重复的,但这些都不适合我 我正在尝试访问 strings.xmlJava 如何在android中访问AlertDialog中文本的字符串资源,java,android,Java,Android,它可以复制为底部链接。关于我想问的具体问题或想得到更快的答案,请参见我问题中的答案。否则,请转到以下链接 =========================================================================== 我的问题: 我问这个问题,虽然可能有重复的,但这些都不适合我 我正在尝试访问 strings.xml <string name="AlertTitle">Add a New Task</string> <str
<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(@string/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()
有关更多信息,请参阅。当从
活动中使用它时,您可以执行getString
而不是getResources().getString(…)
,当您在Java代码中引用字符串资源时,正确的方法是:R.string.string\u name
因此,您的代码应该如下所示:
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle(R.string.AlertTitle) //AlertTitle
//...
谢谢你的帮助。我真的很感激。