Come posso aggiungere un testo segnaposto alla EditText
classe che non è nell'XML?
Ho il seguente EditText
codice nel mio codice che verrà mostrato in alertdialog:
final EditText name = new EditText(this);
Come posso aggiungere un testo segnaposto alla EditText
classe che non è nell'XML?
Ho il seguente EditText
codice nel mio codice che verrà mostrato in alertdialog:
final EditText name = new EditText(this);
Risposte:
Ah ok. Quello che stai cercando è setHint(int)
. Passa semplicemente un ID risorsa di una stringa dal tuo XML e sei a posto.
E in XML, è semplicemente android:hint="someText"
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)
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"/>
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
Lì puoi aggiungere un suggerimento (segnaposto) a EditText
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);
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.
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"