Saya mencoba membuat EditText tidak dapat diedit dengan kode ini:
<EditText android:id="@+id/outputResult"
android:inputType="text"
android:editable="false"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/result" />
Saya harus menambahkan baris berikut agar tidak dapat diedit, tapi sepertinya tidak memberikan pengaruh apapun.
android:focusable="false"
Solutip
android:editable="false"
seharusnya berfungsi, tetapi sudah usang, Anda harus menggunakan android:inputType="none"
sebagai gantinya.
Anda juga dapat melakukannya secara terprogram.
EditText mEdit = (EditText) findViewById(R.id.yourid);
mEdit.setEnabled(false);
Ini juga merupakan alternatif yang layak:
EditText mEdit = (EditText) findViewById(R.id.yourid);
mEdit.setKeyListener(null);
Jika Anda akan membuat EditText Anda tidak dapat diedit, bolehkah saya menyarankan menggunakan widget TextView daripada EditText, karena menggunakan EditText sepertinya tidak ada gunanya dalam kasus itu.
Tapi perlu Anda pertimbangkan juga ketika menggunakan fungsi setEnable / isEnable maka itu akan membuat EditText sama sekali tidak bekerja, bahkan tidak dapat merespon even klik, oleh sebab itu kami sarakan Anda menggunakan cara berikut.
android:inputType="none"
android:enabled="false"
android:cursorVisible="false"
android:focusableInTouchMode="false"