Pertanyaan Mengapa saya bisa mengetikkan EditText yang dinonaktifkan?


Jika saya menonaktifkan EditText widget menggunakan

editText.setEnabled(false);

Saya masih bisa mengetiknya menggunakan metode input di layar (di kedua emulator dan di G1). Apakah ini dimaksudkan? Bagaimana saya bisa mengatasi masalah ini?


10
2018-05-26 14:25


asal


Jawaban:


Saya perhatikan bahwa Anda tidak dapat mengaktifkan keyboard di layar dengan mengetuk EditText yang dinonaktifkan, dan juga tombol DEL tidak berfungsi, jadi ini terlihat seperti bug bagi saya. Saya mengajukannya sebagai masalah 2771 di pelacak masalah Android.


9
2018-05-26 21:16



edittext.setKeyListener(null);

Ini akan membantu Anda


6
2018-02-17 06:10



Gunakan ini, itu berhasil bagiku

setFocusableInTouchMode(boolean);

setFocusable(boolean);

2
2018-02-01 12:32



Saya memperbaiki masalah ini tetapi patch hanya dimasukkan ke dalam Honeycomb. Itulah mengapa saya membuat proyek kecil yang akan berisi perbaikan yang saya perbarui ke versi mulai dari 2.1. Ini berisi perbaikan untuk bug 2771: http://code.google.com/p/android-fixes/
Anda dapat memeriksa "perpustakaan" dari svn dan memasukkannya ke dalam proyek Anda. Kemudian daripada android.widget.EditText impor edu.ubbdroid.android.widget.EditText (yang memperluas EditText asli) dan masalahnya seharusnya hilang :)


1
2018-02-26 11:47



Mungkin Anda dapat mengganti secara alternatif dengan TextView dan kembali. Tetapi Anda mungkin perlu menyesuaikan font agar cocok dengan EditText.


1
2017-08-02 13:00



etComment.setEnabled(flag);
etComment.setFocusable(flag);
etComment.setFocusableInTouchMode(flag);
if (flag) {
    etComment.requestFocus();
}
etComment.setFilters(new InputFilter[] { new InputFilter() {
    @Override
    public CharSequence filter(
        CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
            if (!flag) {
                return source.length() < 1 ? dest.subSequence(dstart, dend) : "";
            }
            return null;
        }
    }
});

untuk semua Anda bisa mendapatkannya!


1
2018-06-10 07:50



Saya pikir Anda harus dapat mengeditText.setOnClickListener () dengan fungsi Anda sendiri dan memanggil super.onClickListener () jika Anda ingin teks Anda diedit.

Edit:
Tautan berikut memiliki beberapa jawaban yang terdengar lebih seperti cara yang benar:
Bisakah kita memiliki teks yang tidak dapat diedit di dalam teks


0
2018-05-26 19:03



Untuk jawaban yang lebih baru, periksa utas ini:

Bagaimana cara mereplikasi android yang dapat diedit secara salah


0
2017-12-22 20:19