将 EditText 输入限制为 Android 中的某些特殊字符
在其他一些应用程序中,我们中的大多数人必须目睹在某些字段中键入时,我们会收到警告或闪烁消息,表明某些字符不允许或不被接受为有效输入。例如,有时在 Windows 中重命名文件或文件夹时,如果我们简单地输入“?”,我们会收到一条消息“?”不被接受为有效输入。发生这种情况是因为字符“?”必须在该操作系统的文件系统中具有某些功能意义。同样,对其他特殊字符也有限制,因为它们可能在操作系统的文件系统中具有某些功能意义。类似地,这个概念可以应用于任何类型的用户输入。假设在注册时输入的是所需的用户名,我们可以应用类似的概念来避免使用数字或特殊字符。因此,在本文中,我们将向您展示如何将输入限制为 Android 中 EditText 的特定字符集。
分步实施
第 1 步:在 Android Studio 中创建一个新项目
要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。我们在Kotlin中演示了该应用程序,因此请确保在创建新项目时选择 Kotlin 作为主要语言。
第 2 步:使用 activity_main.xml 文件
导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是activity_main.xml文件的代码。我们创建了一个 EditText,可以在其中接受输入。请注意, android:digits属性只允许输入流中的给定字符。
XML
Kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
第 3 步:使用MainActivity.kt 文件
转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。此文件中不需要额外的代码。
科特林
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
输出:
您可以看到,只有那些已针对 EditText 的android:digits属性声明的 EditText 中打印了这些字符。