Android agrega texto de marcador de posición a EditText


365

¿Cómo puedo agregar un texto de marcador de posiciónEditText en la clase que no está en el XML?

Tengo lo siguiente EditTexten mi código que se mostrará en alertdialog:

    final EditText name = new EditText(this);

1
¿Qué quieres decir con un marcador de posición?
LuxuryMode

44
Es el texto que se escribe con color claro en las barras de texto y cuando el usuario hace clic en la barra de texto para escribir algo, ese texto desaparecerá.
Mona

Respuestas:


832

Ah ok Lo que estás buscando es setHint(int). Simplemente pase una identificación de recurso de una cadena de su xml y estará listo.

ingrese la descripción de la imagen aquí

EDITAR

Y en XML, es simplemente android:hint="someText"


66
¡Gracias! No sabía cómo lo llaman en Android, solo sé que en iOS se llama marcador de posición.
Mona

39
Es universalmente conocido como un marcador de posición, pero, por supuesto, Android es diferente solo por ser diferente;)
Joe Maher

21

android:hint="text" proporciona una información para el usuario que lo que necesita llenar en particular editText

por ejemplo: - tengo dos edittext uno para el valor numérico y otro para el valor de la cadena. podemos establecer una pista para el usuario para que pueda entender qué valor necesita dar

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

después de ejecutar la aplicación, estos dos textos de edición mostrarán la pista ingresada, luego de hacer clic en editar texto, el usuario puede ingresar lo que quiera (ver imagen de modo de lujo)


Esto se llama pista en Android.
Monty

11

En su actividad

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

ingrese la descripción de la imagen aquí


7

¡Cómo hacer una contraseña de entrada que tenga una pista que no se haya convertido a *!

En XML:

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

gracias a: mango y rjrjr por la información: D.


5

En Android Studio, puede agregar Sugerencia (marcador de posición) a través de la GUI. Primero seleccione el campo EditText en la vista del diseñador. Luego haga clic en el árbol de componentes del lado izquierdo del IDE (normalmente está allí, pero puede estar allí minimizado) Allí puede ver las propiedades del EditText seleccionado. Encuentra el campo Pista como se muestra a continuación.

ingrese la descripción de la imagen aquí

Allí puede agregar Sugerencia (marcador de posición) a EditText


3

Si te refieres a la ubicación donde lo agregarás en el diseño. Puede definir un contenedor como FrameLayout y agregar este EditText cuando se crea.

<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

Tienes que usar el atributo android: hint

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

En Android Studio, puede cambiar de XML -> Vista de diseño y hacer clic en Componente en el diseño, el campo Editar texto en este caso. Esto mostrará todos los atributos aplicables para ese componente GUI. Esto será útil cuando no conozca todos los atributos que existen.

Te sorprendería ver que EditText tiene más de 140 atributos para la personalización.


0

Si desea insertar texto dentro de su vista EditText que permanece allí después de seleccionar el campo (a diferencia de cómo se comporta la pista), haga esto:

En Java:

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

En 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"
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.