对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>
我的stringbuilder看起来像
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中显示的文本。它用返回打印文本的每一行,但我得到类似的东西 你已经被停止了
2131099688
2131099688
2131099688
我正在制造一个明显的错误吗?是否与电话号码中的连字符有关?
答案 0 :(得分:1)
您需要获取String而不是资源ID。 无论何时构建它,都会创建一个R文件,其中包含资源指针的资源ID(int)。您想要使用getString(R.string.lbl_notification_line3)。