如何在 Kotlin 活动中引用字符串资源,而不是 XML

问题描述 投票:0回答:1

在 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;
        }

谢谢大家!

android xml kotlin
1个回答
0
投票

在活动中或使用

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;
    
               

 }
© www.soinside.com 2019 - 2024. All rights reserved.