在 Android Studio 中,我创建了一个新的 Kotlin 活动和一个与之配套的 .xml 文件。我知道在 xml 文件中包含硬编码文本是不好的,您应该使用 this answer 来引用字符串资源。我的 Kotlin 活动中有代码检查用户是否提交了正确的电子邮件,如果无效则给出错误消息。我不想对错误消息进行硬编码,因此我尝试像以前一样引用字符串资源,但它不起作用。如何在 Kotlin 活动中引用 strings.xml 中的字符串,而不是另一个 .xml 文件?
我的 Kotlin 代码如下所示,其中 EmailNotValid 是 strings.xml 中的一个条目:
fun signup(){
val email = binding.emailInput.text.toString()
if(!Patterns.EMAIL_ADDRESS.matcher(email).matches())
{
binding.emailInput.setError(@string/EmailNotValid)
return;
}
谢谢大家!
在活动中或使用
Context
,您可以使用 resources.getString(R.string.your_string_name)
。
您还可以使用
getString(R.string.your_string_name)
。
您的情况:
fun signup(){
val email = binding.emailInput.text.toString()
if(!Patterns.EMAIL_ADDRESS.matcher(email).matches())
{
// Get string
val emailErrorMessage = getString(R.string.EmailNotValid)
// Use it
binding.emailInput.setError(emailErrorMessage)
return;
}