📌  相关文章
📜  如何在 Android 中以编程方式更改 EditText 的输入类型?

📅  最后修改于: 2022-05-13 01:54:25.356000             🧑  作者: Mango

如何在 Android 中以编程方式更改 EditText 的输入类型?

Android UI 或应用程序中的 EditText 是一个输入字段,用于向应用程序提供输入文本。此输入文本可以是多种类型,如文本(字符)、数字(整数)等。这些字段可用于从用户那里获取文本输入以执行任何所需的操作。假设我们的应用程序中的登录活动包含两个输入,即电子邮件 ID 和数字密码。所以我们需要创建两个 EditText 字段来获取两个输入。这是假设一般登录活动页面的方式。但是,我们可以使用单个 EditText 创建类似的活动,并使用它两次来获取两个相同或不同类型的输入。单击按钮后,第一个输入可以存储在变量中。同时,本次点击会清除EditText。现在可以在单击按钮时给出第二个输入并将其存储在另一个变量中。这样,我们将使用单个 EditText 获得两个输入。这是两个输入的类型相同的情况。当两种输入类型不同时就会出现问题,假设第一个输入是字符串,第二个输入是某个数值。因此,在本文中,我们将向您展示如何使用简单的 Android 应用程序演示以编程方式更改 EditText 输入类型。启动 IDE 后,请按照以下说明进行操作。

分步实施

第 1 步:在 Android Studio 中创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。我们在Kotlin中演示了该应用程序,因此请确保在创建新项目时选择 Kotlin 作为主要语言。

第 2 步:使用 activity_main.xml 文件

导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是activity_main.xml文件的代码。我们创建了一个 EditText 和两个 Button。这两个非功能性按钮在单击时会相应地调用 EditText 输入类型。

XML

  
    
  
    


Kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.text.InputType
import android.widget.Button
import android.widget.EditText
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declaring and initializing the EditText
          // and Buttons from the layout file 
        val mEditText = findViewById(R.id.edit_text)
        val mTextBtn = findViewById


第 3 步:使用MainActivity.kt 文件

转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。 EditText 和 Buttons 被声明到主代码中。在这里,这两个函数被赋予了单击时 EditText 将更改其输入类型的功能。代码中添加了注释以更详细地理解代码。

科特林

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.text.InputType
import android.widget.Button
import android.widget.EditText
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declaring and initializing the EditText
          // and Buttons from the layout file 
        val mEditText = findViewById(R.id.edit_text)
        val mTextBtn = findViewById

输出:

您可以在输出中看到,当单击这些按钮时,输入类型会发生变化。