Bisa ada yang bilang saya bagaimana untuk menutupi substring di EditText
atau bagaimana mengubah EditText
substring masukan untuk jenis sandi atau mengganti dengan yang lain karakter seperti 123xxxxxxxxx3455 ini
String contents = et1.getText().toString();
et1.setText(contents.replace.substring(0, contents.length()-2),"*");
Tolong, beri tahu saya bagaimana saya bisa menggunakan TextWatcher
metode ini di Android.
android
android-edittext
textwatcher
Pengembang Android
sumber
sumber
The
TextWatcher
antarmuka memiliki 3 callback metode yang semuanya disebut dalam urutan berikut ketika perubahan terjadi pada teks:beforeTextChanged(CharSequence s, int start, int count, int after)
Dipanggil sebelum perubahan diterapkan ke teks.
The
s
parameter teks sebelum perubahan diterapkan.The
start
parameter adalah posisi dari awal bagian berubah dalam teks.The
count
parameter adalah panjang dari bagian berubah dalams
urutan sejakstart
posisi.Dan
after
parameternya adalah panjang urutan baru yang akan menggantikan bagians
urutan daristart
menjadistart+count
.Anda tidak boleh mengubah teks di
TextView
from metode ini (dengan menggunakanmyTextView.setText(String newText)
).onTextChanged(CharSequence s, int start, int before, int count)
Mirip dengan
beforeTextChanged
metode tetapi dipanggil setelah teks berubah.The
s
parameter teks setelah perubahan telah diterapkan.The
start
parameter adalah sama seperti dalambeforeTextChanged
metode.The
count
parameter adalahafter
parameter dalam metode beforeTextChanged.Dan
before
parameternya adalahcount
parameter dalam metode beforeTextChanged.Anda tidak boleh mengubah teks di
TextView
from metode ini (dengan menggunakanmyTextView.setText(String newText)
).afterTextChanged(Editable s)
Anda dapat mengubah teks di
TextView
from metode ini./! \ Peringatan: Ketika Anda mengubah teks di
TextView
, ituTextWatcher
akan dipicu lagi, memulai loop tak terbatas. Anda kemudian harus menambahkan sepertiboolean _ignore
properti yang mencegah pengulangan tak terbatas.Contoh:
Ringkasan:
Kelas siap pakai:
TextViewListener
Secara pribadi, saya membuat pendengar teks khusus saya, yang memberi saya 4 bagian dalam string terpisah, yang, bagi saya, jauh lebih intuitif untuk digunakan.
Contoh:
sumber
Jawaban tambahan
Berikut adalah tambahan visual untuk jawaban lainnya. Jawaban lengkap saya dengan kode dan penjelasannya ada di sini .
sumber
Menggunakan TextWatcher di Android
Berikut ini contoh kode. Coba gunakan
addTextChangedListener
metode TextViewsumber
Perspektif solusi yang sedikit lebih besar:
Ini berhasil untuk saya, melakukannya untuk pertama kalinya.
sumber
Buat subkelas TextWatcher khusus:
Setel pendengar untuk EditText Anda:
sumber
Untuk Kotlin gunakan fungsi ekstensi KTX : ( Digunakan sebagai jawaban sebelumnya)
TextWatcher
impor
core-KTX
:sumber
sumber
jika Anda menerapkan dengan dialog edittext. gunakan seperti ini: Ini sama dengan penggunaan untuk teks editan lainnya.
sumber
Untuk referensi lebih lanjut klik di sini http://androiddhina.blogspot.in/2015/05/android-textwatcher.html
sumber