Android ajouter du texte d'espace réservé à EditText

365

Comment puis-je ajouter un texte d' espace réservéEditText dans la classe qui n'est pas dans le XML?

J'ai ce qui suit EditTextdans mon code qui sera affiché dans alertdialog:

    final EditText name = new EditText(this);
Mona
la source
1
Qu'entendez-vous par un espace réservé?
LuxuryMode
4
C'est le texte qui est écrit par une couleur claire sur les barres de texte et lorsque l'utilisateur clique sur la barre de texte pour écrire quelque chose, le texte disparaîtra.
Mona

Réponses:

832

Ah ok. Ce que vous cherchez, c'est setHint(int). Passez simplement un identifiant de ressource d'une chaîne de votre xml et vous êtes prêt à partir.

entrez la description de l'image ici

ÉDITER

Et en XML, c'est tout simplement android:hint="someText"

LuxuryMode
la source
6
Merci! Je ne savais pas comment ils l'appelaient dans Android, je sais juste que sur iOS, cela s'appelle un espace réservé.
Mona
39
Son universellement connu comme un espace réservé, mais bien sûr, Android est différent juste pour être différent;)
Joe Maher
21

android:hint="text" fournit une information pour l'utilisateur que ce qu'il doit remplir en particulier editText

par exemple: - j'ai deux edittext un pour la valeur numérique et l'autre pour la valeur de la chaîne. nous pouvons définir un indice pour l'utilisateur afin qu'il puisse comprendre que quelle valeur il doit donner

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

après avoir exécuté l'application, ces deux edittext afficheront l'astuce entrée, après avoir cliqué sur éditer le texte, il ira et l'utilisateur pourra entrer ce qu'il veut (voir l'image luxurymode)

Monty
la source
Cela s'appelle un indice dans Android.
Monty
11

Dans votre activité

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

entrez la description de l'image ici

David Hackro
la source
7

Voici comment faire un mot de passe d'entrée qui a un indice qui n'est pas converti en * !!.

Sur XML:

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

merci à: mango et rjrjr pour la perspicacité: D.

Bhimbim
la source
5

Dans Android Studio, vous pouvez ajouter un indice (espace réservé) via l'interface graphique. Sélectionnez d'abord le champ EditText dans la vue du concepteur. Cliquez ensuite sur l' arborescence des composants sur le côté gauche de l'EDI (normalement il est là, mais il peut y être minimisé). Vous pouvez y voir les propriétés de EditText sélectionné. Trouver Hint champ comme ci - dessous l' image

entrez la description de l'image ici

Là, vous pouvez ajouter un indice (espace réservé) à EditText

Menuka Ishan
la source
3

Si vous voulez dire l'emplacement où vous l'ajouterez dans la mise en page. Vous pouvez définir un conteneur comme un FrameLayout et lui ajouter ce EditText lors de sa création.

<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);
Rajdeep Dua
la source
1

Vous devez utiliser l'attribut android: hint

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

Dans Android Studio, vous pouvez basculer de XML -> Mode Création et cliquer sur le composant dans la mise en page, le champ EditText dans ce cas. Cela montrera tous les attributs applicables pour ce composant GUI. Ce sera pratique lorsque vous ne connaissez pas tous les attributs qui s'y trouvent.

Vous seriez surpris de voir que EditText a plus de 140 attributs pour la personnalisation.

Développeur Alagu
la source
0

Si vous souhaitez insérer du texte dans votre vue EditText qui y reste une fois le champ sélectionné (contrairement au comportement de l'indice), procédez comme suit:

En Java:

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

À 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"
Hawk Red
la source