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);

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"


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)


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


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.


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


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);

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.


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"
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.