¿Cómo deshabilitar la funcionalidad de copia en EditText en Android?

En Android, EditText se usa para permitir que los usuarios escriban texto que puede ser números, caracteres, strings o un párrafo. Los datos de EditText se pueden obtener y utilizar para realizar las operaciones deseadas. Como la entrada principal de EditText es texto, puede escribirse manualmente o copiarse de otra fuente y simplemente pegarse en él. De manera similar, un texto en EditText se puede copiar y usar en otras aplicaciones.

EditText in Android

Entonces, en este artículo, le mostraremos cómo puede deshabilitar la funcionalidad de copia en EditText en Android. Siga los pasos a continuación una vez que el IDE esté listo.

Implementación paso a paso

Paso 1: crea un nuevo proyecto en Android Studio

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Demostramos la aplicación en Kotlin , así que asegúrese de seleccionar Kotlin como idioma principal al crear un nuevo proyecto.

Paso 2: trabajar con el archivo activity_main.xml

Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml . Agregue un EditText como se muestra a continuación.

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
  
    <EditText
        android:id="@+id/edit_text_1"
        android:layout_width="300sp"
        android:layout_height="50sp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="100sp"
        android:hint="Edit Text 2"/>
  
</RelativeLayout>

Paso 3: trabajar con el archivo MainActivity.kt

Vaya al archivo MainActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.

Kotlin

package org.geeksforgeeks.disablecopypasteet
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.ActionMode
import android.view.Menu
import android.view.MenuItem
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 from the layout
        val mEditText = findViewById<EditText>(R.id.edit_text_1)
  
        // Disable every mode to disable copy
        mEditText.customSelectionActionModeCallback = object : ActionMode.Callback {
            override fun onCreateActionMode(p0: ActionMode?, p1: Menu?): Boolean {
                return false
            }
  
            override fun onPrepareActionMode(p0: ActionMode?, p1: Menu?): Boolean {
                return false
            }
  
            override fun onActionItemClicked(p0: ActionMode?, p1: MenuItem?): Boolean {
                return false
            }
  
            override fun onDestroyActionMode(p0: ActionMode?) {
  
            }
        }
    }
}

Producción:

Puede ver que no podemos seleccionar el texto en EditText. esto evita que sea copiado.

Publicación traducida automáticamente

Artículo escrito por aashaypawar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *