Ich versuche, Listener so einzustellen und anzuklicken, dass beim Klicken in das edittext-Element der aktuelle Inhalt gelöscht wird. Stimmt hier etwas nicht? Wenn ich diesen Code kompiliere, wird ein Force-Beenden und ActivityManager: DDM-Block 4d505251 kann nicht versendet werden: Kein vom Handler definierter Fehler.
public class Project extends Activity implements OnClickListener {
/** Called when the activity is first created. */
EditText editText = (EditText)findViewById(R.id.editText1);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
editText.setOnClickListener(this);
setContentView(R.layout.main);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
editText.setText("");
}
}
android
android-edittext
locoboy
quelle
quelle
EditText editText = (EditText)findViewById(R.id.editText1);
Diese Zeile sollte hier in die onCreate-Methode eingefügt werden. Es ist ein Funktionsaufruf des Kontexts.findViewById
bis Sie angerufen habensetContentView
.EditText
, wodurch ein Text angezeigt wird, wenn er leer ist, und der verschwindet, wenn der Benutzer mit der Eingabe beginnt. Fügen Sieandroid:hint="your hint text here"
IhremEditText
in xml hinzu. Ein 'Hinweis' wird normalerweise verwendet, um anzugeben, wofür der EditText gemacht ist. Es ist vielleicht nicht das, wonach Sie suchen, aber ich habe auch versucht, denEditText
Klick zu löschen, bis ich herausfand, dass der "Hinweis" das tat, wonach ich wirklich suchte.Antworten:
Zuerst müssen Sie
setContentView(R.layout.main)
alle anderen Initialisierungen aufrufen .Bitte versuchen Sie es unter Code.
quelle
.clear
oder.setText("")
) erwähnt. Gibt es Unterschiede? Wann sollte ich welche verwenden oder sind sie völlig gleich? Vielen Dank.Sie können auch den folgenden Code verwenden
quelle
Verwenden Sie einfach das
android:hint
Attribut in Ihrem EditText. Dieser Text wird angezeigt, wenn das Feld leer und nicht fokussiert ist, verschwindet jedoch bei Auswahl des Felds EditText.quelle
Wir können EditText-Daten auf zwei Arten löschen
Erste Eine Einstellung EditText ist wie in der folgenden Zeile leer
Zweitens löschen Sie EditText-Daten wie folgt
Ich schlage den zweiten Weg vor
quelle
Ihr Code sollte sein:
quelle
quelle
Sehr einfach zu löschen editText-Werte. Wenn Sie auf die Schaltfläche klicken, folgen Sie nur 1 Zeilencode.
quelle
quelle
Ich weiß nicht, welche Fehler ich bei der Implementierung der oben genannten Lösungen gemacht habe, aber sie waren für mich erfolglos
Das funktioniert bei mir,
quelle
// Zum Löschen, wenn auf die Schaltfläche Löschen geklickt wird
Dies hilft dabei, die falschen Schlüsselwörter zu löschen, die Sie eingegeben haben. Anstatt immer wieder die Rücktaste zu drücken, können Sie einfach auf die Schaltfläche klicken, um alles zu löschen. Es hat bei mir funktioniert. Ich hoffe es hilft
quelle
quelle
Durch Setzen von Leere Zeichenfolge können Sie Ihren Edittext löschen
quelle
In XML können Sie wie folgt schreiben:
und in der Java-Klasse können Sie unter einem haben:
OnCreate () schreiben Sie:
Es funktioniert gut für mich.
quelle
Für Kotlin:
Erstellen Sie zwei Erweiterungen, eine für EditText und eine für TextView
Text bearbeiten:
Textübersicht:
und benutze es gerne
quelle
Sie können das Attribut 'android: Hinweis' in Ihrem EditText auch aus Code verwenden:
Dann brauchen Sie keinen onClickListener oder ähnliches. Beachten Sie jedoch, dass der Hinweiswert nicht übergeben wird. Der editText bleibt leer. In diesem Fall können Sie Ihren editText mit Ihrem Standardwert festlegen:
quelle
meine Funktion
quelle
Wenn die Verwendung von EditText nicht obligatorisch ist, können Sie dieses Verhalten mit den neuen Materialkomponenten einfach implementieren:
Sie müssen nur das gewünschte Zeichen für die Schaltfläche angeben, mit der der Text und die auszuführende Aktion gelöscht werden. Um den Text zu löschen, können Sie iconMode = "clear_text" verwenden, aber auch "password_toggle" ist verfügbar.
quelle
Es ist ganz einfach: erklären die Widget - Variablen (
editText
,textView
,button
etc.) in der Klasse , aber initialisieren es inonCreate
nachsetContentView
.Das Problem ist, wenn Sie zuerst versuchen, auf ein Widget eines Layouts zuzugreifen, müssen Sie das Layout deklarieren. Das Layout zu deklarieren ist
setContentView
. Und wenn Sie die Widget-Variable über initialisieren,findViewById
greifen Sie aufid
das Widget im Hauptlayout im zusetContentView
.Ich hoffe du verstehst es!
quelle
Ich bin mir nicht sicher, ob Sie nach diesem suchen
quelle