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

标签 java android

<分区>

有可能重复为底部链接。对于我想问的具体问题或获得更快的答案,请参阅我的问题中的答案。否则,转到以下链接。

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

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

我问这个问题,尽管可能有重复但这些对我不起作用。

我正在尝试访问

strings.xml

在 AlertDialog 中,但我似乎做不到。我说过

.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>   

谢谢!

最佳答案

以编程方式使用 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?想要查询更多的信息。你可以做 getString而不是 getResources().getString(...)Activity 使用它时或 Fragment

关于java - 如何在 AlertDialog 中访问文本的 android 中的字符串资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40808550/

相关文章:

java - 已处理的 Java 异常导致未处理的异常

java - 我在哪里可以看到 Android Studio 中打印的堆栈跟踪?

java - 如何使用junit测试Android sqlite?

java - 从 JAVA 客户端执行 PMCMD 命令

android - 如何实时锁定文本字段中的空白字符?

java - 何时调用 response.body().close()

java - 了解字符串类型 MAP

android - OpenCV - 端盖控制

Android:当 "focus"在特定 View 上时,如何在对讲(可访问性)期间中断?

android - 为什么在Android中使用Intent.ACTION_PICK时文件管理器应用程序不起作用?