Android aggiunge il testo segnaposto a EditText


365

Come posso aggiungere un testo segnaposto alla EditTextclasse che non è nell'XML?

Ho il seguente EditTextcodice nel mio codice che verrà mostrato in alertdialog:

    final EditText name = new EditText(this);

1
Cosa intendi per segnaposto?
Modalità di lusso

4
È il testo che viene scritto con un colore chiaro sulle barre di testo e quando l'utente fa clic sulla barra di testo per scrivere qualcosa che il testo scompare.
Mona,

Risposte:


832

Ah ok. Quello che stai cercando è setHint(int). Passa semplicemente un ID risorsa di una stringa dal tuo XML e sei a posto.

inserisci qui la descrizione dell'immagine

MODIFICARE

E in XML, è semplicemente android:hint="someText"


6
Grazie! Non sapevo come lo chiamano in Android, so solo che su iOS si chiama segnaposto.
Mona,

39
È universalmente noto come segnaposto, ma ovviamente Android è diverso solo per essere diverso;)
Joe Maher

21

android:hint="text" fornisce all'utente informazioni su ciò che deve compilare in particolare editText

per esempio: - ho due edittext uno per valore numerico e l'altro per valore stringa. possiamo impostare un suggerimento per l'utente in modo che possa capire quale valore deve dare

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

dopo aver eseguito l'app questi due edittext mostreranno il suggerimento inserito, dopo aver fatto clic su modifica testo andrà e l'utente potrà inserire ciò che desidera (vedi immagine del luxurymode)


Questo si chiama suggerimento in Android.
Monty,

11

Nella tua attività

<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"/>

inserisci qui la descrizione dell'immagine


7

Questo come creare una password di input con un suggerimento che non è stato convertito in * !!.

Su XML:

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

grazie a: mango e rjrjr per l'intuizione: D.


5

In Android Studio è possibile aggiungere un suggerimento (segnaposto) tramite la GUI. Selezionare innanzitutto il campo Modifica testo nella vista designer. Quindi fare clic su Albero dei componenti Lato sinistro dell'IDE (normalmente è lì, ma potrebbe essere lì ridotto a icona) Qui puoi vedere le proprietà del EditText selezionato. Trova il campo Suggerimento come sotto Immagine

inserisci qui la descrizione dell'immagine

Lì puoi aggiungere un suggerimento (segnaposto) a EditText


3

Se intendi la posizione in cui la aggiungerai nel layout. Puoi definire un contenitore come un FrameLayout e aggiungere questo EditText ad esso quando viene creato.

<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

Devi usare l'attributo android: hint

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

In Android Studio, puoi passare da XML -> Design View e fare clic sul componente nel layout, in questo caso il campo EditText. Questo mostrerà tutti gli attributi applicabili per quel componente GUI. Questo sarà utile quando non si conoscono tutti gli attributi presenti.

Saresti sorpreso di vedere che EditText ha più di 140 attributi per la personalizzazione.


0

Se si desidera inserire del testo all'interno della vista EditText che rimanga lì dopo aver selezionato il campo (diversamente dal comportamento del suggerimento), procedere come segue:

In Java:

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

A 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"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.