Wie kann ich die Eingabe in ein EditText
Feld in Android deaktivieren ?
Wie kann ich die Eingabe in ein EditText
Feld in Android deaktivieren ?
Antworten:
editText.setEnabled(false);
In Kombination mit editText.setFocusable(false);
wird dies erreicht.
android:enabled="false"
und android:focusable="false"
. Danke Leute!
Sie können die EditText.setFocusable(false)
Bearbeitung deaktivieren, um die Bearbeitung EditText.setFocusableInTouchMode(true)
zu aktivieren.
setFocusable(false)
ich setFocusable (true) einfach umdrehen konnte ... nicht der Fall. Das Einstellen setFocusableInTouchMode(true)
hat den Trick für mich getan.
In Code:
editText.setEnabled(false);
Oder in XML:
android:editable="false"
Sie können die folgende Methode ausprobieren:
private void disableEditText(EditText editText) {
editText.setFocusable(false);
editText.setEnabled(false);
editText.setCursorVisible(false);
editText.setKeyListener(null);
editText.setBackgroundColor(Color.TRANSPARENT);
}
EditText aktiviert:
EditText deaktiviert:
Es funktioniert für mich und hoffe, es hilft Ihnen.
Setzen Sie einfach die fokussierbare Eigenschaft Ihres Edittextes auf "false" und Sie sind fertig.
<EditText
android:id="@+id/EditTextInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:gravity="right"
android:cursorVisible="true">
</EditText>
Die folgenden Optionen funktionieren nicht
In Code:
editText.setEnabled(false);
Oder in XML:
android:editable="false"
Edittext edittext = (EditText)findViewById(R.id.edit);
edittext.setEnabled(false);
Aktivieren:
private void enableEditText() {
mEditText.setFocusableInTouchMode(true);
mEditText.setFocusable(true);
mEditText.setEnabled(true);
}
Deaktivieren:
private void disableEditText() {
mEditText.setEnabled(false);
mEditText.setFocusable(false);
mEditText.setFocusableInTouchMode(false);
}
Der folgende Code deaktiviert den EditText in Android
editText.setEnabled(false);
Sie können schreiben, edittext.setInputType(0)
wenn Sie den Edittext anzeigen möchten, aber keine Werte eingeben möchten
edittext.setFocusable(false);
edittext.setEnabled(false);
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0);
//removes on screen keyboard
Laut mir ... wenn Sie das bereits edittext
in der XML-Datei deklariert und die Eigenschaft in der XML-Datei festgelegt "android:enabled=false"
und zur Laufzeit zu diesem Zeitpunkt in der Java-Datei deaktiviert haben und nur 2 oder 3 Zeilen hinzugefügt haben
Holen Sie sich durch ID
et1 = (EditText) FindViewById(R.id.edittext1);
et1.setEnabled(false);
Sie können jedes Steuerelement zur Laufzeit nach Java-Datei und zur Entwurfszeit nach XML-Datei aktivieren oder deaktivieren.
Schreiben Sie dies in Eltern:
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
Beispiel:
<RelativeLayout
android:id="@+id/menu_2_zawezanie_rl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/menu_2_horizontalScrollView"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:orientation="horizontal"
android:background="@drawable/rame">
<EditText
android:id="@+id/menu2_et"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/menu2_ibtn"
android:gravity="center"
android:hint="@string/filtruj" >
</EditText>
<ImageButton
android:id="@+id/menu2_ibtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:background="@null"
android:src="@drawable/selector_btn" />
Die XML- editable
Eigenschaft ist seit API LEVEL 15 veraltet .
Sie sollten jetzt die inputType
Eigenschaft mit dem Wert verwenden none
. Es gibt jedoch einen Fehler, der diese Funktionalität unbrauchbar macht.
Hier können Sie den Problemstatus verfolgen.
Setzen Sie das inputType
Attribut in Ihrer Datei layout.xml unter EditText auf none
Klicken Sie mit der rechten Maustaste auf den Textbereich und deaktivieren Sie die bearbeitbare Option: