Android fügt EditText Platzhaltertext hinzu


365

Wie kann ich einen hinzufügen Platzhalter Text EditTextin der Klasse , die nicht in der XML ist?

Ich habe Folgendes EditTextin meinem Code, das im alertdialog angezeigt wird:

    final EditText name = new EditText(this);

1
Was meinst du mit einem Platzhalter?
LuxuryMode

4
Es ist der Text, der durch helle Farbe in die Textleisten geschrieben wird. Wenn der Benutzer auf die Textleiste klickt, um etwas zu schreiben, verschwindet dieser Text.
Mona

Antworten:


831

Ah, ok. Was Sie suchen, ist setHint(int). Geben Sie einfach eine Ressourcen-ID eines Strings aus Ihrer XML ein und los geht's.

Geben Sie hier die Bildbeschreibung ein

BEARBEITEN

Und in XML ist es einfach android:hint="someText"


6
Vielen Dank! Ich wusste nicht, wie sie es in Android nennen, ich weiß nur, dass es unter iOS Platzhalter heißt.
Mona

39
Es ist allgemein als Platzhalter bekannt, aber natürlich ist Android anders, nur um anders zu sein;)
Joe Maher

21

android:hint="text" bietet dem Benutzer eine Information, was er insbesondere ausfüllen muss editText

Zum Beispiel: - Ich habe zwei Edittext, einen für den numerischen Wert und einen für den String-Wert. Wir können dem Benutzer einen Hinweis geben, damit er versteht, welchen Wert er geben muss

android:hint="Please enter phone number"
android:hint="Enter name" 

Nach dem Ausführen der App zeigen diese beiden Edittext den eingegebenen Hinweis an. Nachdem Sie auf Text bearbeiten geklickt haben, kann der Benutzer eingeben, was er möchte (siehe Luxurymode-Bild).


Dies nennt man Hinweis in Android.
Monty

11

In Ihrer Aktivität

<EditText
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dp"
                android:background="@null"
                android:hint="Text Example"
                android:padding="5dp"
                android:singleLine="true"
                android:id="@+id/name"
                android:textColor="@color/magenta"/>

Geben Sie hier die Bildbeschreibung ein


7

So erstellen Sie ein Eingabepasswort mit einem Hinweis, der nicht in * !! konvertiert wurde.

Auf XML:

android:inputType="textPassword"
android:gravity="center"
android:ellipsize="start"
android:hint="Input Password !."

danke an: mango und rjrjr für den einblick: d.


5

In Android Studio können Sie über die GUI einen Hinweis (Platzhalter) hinzufügen. Wählen Sie zuerst das Feld EditText in der Designeransicht aus. Klicken Sie dann auf den Komponentenbaum auf der linken Seite der IDE (normalerweise ist er dort, aber möglicherweise minimiert). Dort sehen Sie die Eigenschaften des ausgewählten EditText. Suchen Sie das Hinweisfeld wie unten abgebildet

Geben Sie hier die Bildbeschreibung ein

Dort können Sie EditText einen Hinweis (Platzhalter) hinzufügen


3

Wenn Sie den Ort meinen, an dem Sie ihn im Layout hinzufügen. Sie können einen Container wie ein FrameLayout definieren und diesen EditText beim Erstellen hinzufügen.

<LinearLayout xmlns=".."/>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/container" android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

FrameLayout layout = (FrameLayout) findViewById(R.id.container);
layout.addView(name);

1

Sie müssen das Android: Hinweis-Attribut verwenden

<EditText
android:id="@+id/message"
android:hint="<<Your placeholder>>"
/>

In Android Studio können Sie von XML -> Entwurfsansicht wechseln und auf die Komponente im Layout klicken, in diesem Fall auf das Feld EditText. Dadurch werden alle zutreffenden Attribute für diese GUI-Komponente angezeigt. Dies ist praktisch, wenn Sie nicht alle vorhandenen Attribute kennen.

Sie werden überrascht sein, dass EditText mehr als 140 Attribute zur Anpassung hat.


0

Wenn Sie Text in Ihre EditText-Ansicht einfügen möchten, der nach Auswahl des Felds dort bleibt (im Gegensatz zum Verhalten von Hinweisen), gehen Sie folgendermaßen vor:

In Java:

// Cast Your EditText as a TextView
((TextView) findViewById(R.id.email)).setText("your Text")

In Kotlin:

// Cast your EditText into a TextView
// Like this
(findViewById(R.id.email) as TextView).text = "Your Text"
// Or simply like this
findViewById<TextView>(R.id.email).text = "Your Text"
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.