In questo articolo vedremo come cancellare il contenuto di una EditText quando viene selezionata per l'inserimento del testo.
Per fare questo occorre inserire queste righe di codice all'interno della funzione onCreate
Ecco un esempio pratico:
main_activity.xml
MainActivity.kt
Dalla riga 24 alla 28 sono state inserite queste righe di codice in modo da disattivare il focus e il cursore della prima EditText così facendo, premette di non cancellare il contenuto della prima EditText quando si apre l'app.
Vedi introduzione a EditText
Vedi gestione della tastiera
Vedi recupero del testo inserito
Vedi eliminare il Focus
Per fare questo occorre inserire queste righe di codice all'interno della funzione onCreate
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
editText.setOnFocusChangeListener(View.OnFocusChangeListener { v, hasFocus -> | |
if (hasFocus) { | |
//con questa riga di codice viene cancellato il contenuto della EditText | |
editText.setText("") | |
} | |
}) |
main_activity.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<LinearLayout | |
xmlns:android="http://schemas.android.com/apk/res/android" | |
xmlns:tools="http://schemas.android.com/tools" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
tools:context=".MainActivity" | |
android:orientation="vertical"> | |
<View | |
android:id="@+id/divider1" | |
android:layout_width="match_parent" | |
android:layout_height="1dp" | |
android:background="#00FFFFFF" | |
android:focusable="true" | |
android:focusableInTouchMode="true"/> | |
<EditText | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:inputType="text" | |
android:text="Name" | |
android:id="@+id/editText"/> | |
<EditText | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:inputType="text" | |
android:text="Name" | |
android:id="@+id/editText2"/> | |
<EditText | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:inputType="text" | |
android:text="Name" | |
android:id="@+id/editText3"/> | |
</LinearLayout> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.dm.tutorialedittext7 | |
import android.support.v7.app.AppCompatActivity | |
import android.os.Bundle | |
import android.view.View //importazione della Classe: View | |
import android.widget.EditText | |
class MainActivity : AppCompatActivity() { | |
var riga1: EditText? = null | |
var riga2: EditText? = null | |
var riga3: EditText? = null | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
setContentView(R.layout.activity_main) | |
riga1 = findViewById(R.id.editText) | |
riga2 = findViewById(R.id.editText2) | |
riga3 = findViewById(R.id.editText3) | |
//riga1 è il nome della variabile associata alla EditText a cui si vuole cancellare il Focus e il Cursor | |
//in questo modo quando si apre l'app non viene cancellato il contenuto della EditText | |
riga1!!.isCursorVisible = false //nasconde la visualizzazione del cursore | |
riga1!!.clearFocus() //cancella il focus dalla EditText specificata | |
riga1!!.isFocusableInTouchMode = true //riabilita il focus quando si clicca sulla EditText | |
riga1!!.isFocusable = true //riabilita il focusa alla EditText | |
riga1!!.isCursorVisible = true //riabilita il cursore alla EditText | |
//utilizzo dell'attributo setOnFocusChangeListener per verificare che L'EditText sia selezionata | |
//pronta per editare del testo | |
riga1!!.setOnFocusChangeListener(View.OnFocusChangeListener { v, hasFocus -> | |
if (hasFocus) { | |
//con questa riga di codice viene cancellato il contenuto della EditText | |
riga1!!.setText("") | |
} | |
}) | |
riga2!!.setOnFocusChangeListener(View.OnFocusChangeListener { v, hasFocus -> | |
if (hasFocus) { | |
riga2!!.setText("") | |
} | |
}) | |
riga3!!.setOnFocusChangeListener(View.OnFocusChangeListener { v, hasFocus -> | |
if (hasFocus) { | |
riga3!!.setText("") | |
} | |
}) | |
} | |
} |
Download Project | ![]() |
Download file APK | ![]() |
Vedi introduzione a EditText
Vedi gestione della tastiera
Vedi recupero del testo inserito
Vedi eliminare il Focus
Commenti
Posta un commento