Java Android Stringbuilder返回数值,而不是Alpa

Java Android Stringbuilder返回数值,而不是Alpa,java,android,string,Java,Android,String,对Java和Android来说确实很陌生,但正在努力学习。在创建对话框警报的过程中,我使用stringbuilder向用户发送消息。我从string.xml文件中提取了几行文本,如下所示 <string name="lbl_deactivated_error">YOU HAVE BEEN DEACTIVATED</string> <string name="lbl_notification_line2">Call Customer Service 1–800-

对Java和Android来说确实很陌生,但正在努力学习。在创建对话框警报的过程中,我使用stringbuilder向用户发送消息。我从string.xml文件中提取了几行文本,如下所示

<string name="lbl_deactivated_error">YOU HAVE BEEN DEACTIVATED</string>
<string name="lbl_notification_line2">Call Customer Service 1–800-xxx-xxxx-/string>
<string name="lbl_notification_line3">Email support@xxxx.com</string>
<string name="lbl_notification_line6">Please Exit By Pressing Home.</string>
   AlertDialog.Builder dialog = new AlertDialog.Builder(ErrorActivity.this);
   dialog.setTitle(lbl_deactivated_error);
   alertmessage.append(lbl_notification_line2);
   alertmessage.append("\n");
   alertmessage.append(lbl_notification_line3);
   alertmessage.append("\n");
   alertmessage.append(lbl_notification_line6);
   dialog.setMessage(alertmessage.toString());
   dialog.show();
执行时,警报会显示标题,但消息会显示一组数字,而不是strings.xml中显示的文本。它打印每行文本并返回,但我得到的结果是 您已被停用

21301099688

21301099688

21301099688


我犯了一个明显的错误吗?它可能与电话号码中的连字符有关吗?

您需要获取字符串,而不是资源ID。
无论何时构建,它都会创建一个R文件,其中保存资源指针的资源ID(INT)。您想改用getString(R.string.lbl\u notification\u line3)。

可能的重复项我可以读取stirng.xml,我已经导入了R.string,所以只需从xml中引用字符串名称。设置标题显示正确。如果我只做一行,只做一行dialog.setmessage,它就可以工作。这是因为它们可以使用资源id,如果你想实际获取字符串,你需要执行副本中所述的操作。我明白了,我在获取R之前忘记了getString。谢谢你指出这一点。没问题,很乐意提供帮助。