Jawaban:
Anda dapat mencoba di main.xml
file Anda :
android:selectAllOnFocus="true"
Atau, di Jawa, gunakan
editText.setSelectAllOnFocus(true);
editText.setSelectAllOnFocus(true);
Ini berfungsi jika Anda ingin melakukannya secara terprogram.
Fragments
).
editText.requestFocus()
masalah editText.clearFocus()
sebelumnya untuk memastikan tindakan yang diinginkan terjadi dalam kasus di mana tampilan sudah fokus
EditText dummy = ...
// android.view.View.OnFocusChangeListener
dummy.setOnFocusChangeListener(new OnFocusChangeListener(){
public void onFocusChange(View v, boolean hasFocus){
if (hasFocus) && (isDummyText())
((EditText)v).selectAll();
}
});
OnFocusChangeListener listener = new OnFocusChangeListener
... dll ... dulu editText1.setOnFocusChangeListener(listener)
editText2.setOnFocusChangeListener(listener)
dan seterusnya ...
Saya tahu Anda telah menemukan solusi, tetapi sebenarnya cara yang tepat untuk melakukan apa yang Anda minta adalah dengan hanya menggunakan android:hint
atribut di EditText Anda. Teks ini muncul ketika kotak kosong dan tidak fokus, tetapi menghilang setelah memilih kotak EditText.
Mengapa Anda tidak mencoba android: hint = "hint" untuk memberikan petunjuk kepada pengguna .. !!
"Petunjuk" akan secara otomatis hilang ketika pengguna mengklik kotak edittext. itu solusi yang tepat dan terbaik.
Anda juga dapat menambahkan Metode OnClick ke editText setelah
_editText.setSelectAllOnFocus(true);
dan dalam hal itu:
_editText.clearFocus();
_editText.requestFocus();
Segera setelah Anda mengklik editTeks seluruh teks dipilih.
SelectAllOnFocus berfungsi saat pertama kali EditText mendapatkan fokus, tetapi jika Anda ingin memilih teks setiap kali pengguna mengkliknya, Anda perlu meneleponeditText.clearFocus()
di antara waktu.
Misalnya, jika aplikasi Anda memiliki satu EditText dan satu tombol, mengklik tombol setelah mengubah EditText meninggalkan fokus di EditText. Kemudian pengguna harus menggunakan pegangan kursor dan tombol backspace untuk menghapus apa yang ada di EditText sebelum mereka dapat memasukkan nilai baru. Jadi panggil editText.clearFocus()
metode Button onClick
.
Saya mencoba jawaban di atas dan tidak bekerja sampai saya mengganti pernyataan. Inilah yang bekerja untuk saya:
myEditText.setSelectAllOnFocus(true);
myEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onClickMyEditText();
}
});
private void onClickMyEditText() {
if(myEditText.isFocused()){
myEditText.clearFocus();
myEditText.requestFocus();
}else{
myEditText.requestFocus();
myEditText.clearFocus();
}
}
Saya harus bertanya apakah fokusnya ada pada EditText, dan jika tidak meminta fokus terlebih dahulu baru kemudian bersihkan. Kalau tidak, kali berikutnya saya mengklik EditText keyboard virtual tidak akan pernah muncul
Cukup tambahkan ini ke editText Anda di file .xml
android: selectAllOnFocus = "true"
Ini bekerja untuk saya:
myEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(myEditText.isFocused()){
myEditText.requestFocus();
myEditText.clearFocus();
myEditText.setSelection(myEditText.getText().length(), 0);
}else{
myEditText.requestFocus();
myEditText.clearFocus();
}
}
});