Android додає текст редактора заповнення до EditText


365

Як можна додати текст заповнення до EditTextкласу, який відсутній у XML?

У EditTextмоєму коді є таке, що буде показано в подіях дій:

    final EditText name = new EditText(this);

1
Що ти маєш на увазі заповнювач?
LuxuryMode

4
Це текст, написаний світлим кольором на текстових рядках, і коли користувач натискає на текстову панель, щоб написати щось, текст зникне.
Мона

Відповіді:


831

А, добре. Що ви шукаєте, так і є setHint(int). Просто передайте ідентифікатор ресурсу рядка з вашого XML, і ви готові йти.

введіть тут опис зображення

EDIT

А в XML це просто android:hint="someText"


6
Дякую! Я не знав, як це називають в android, я просто знаю, що в iOS це називається placeholder.
Мона

39
Його загальновідомий як заповнювач, але, звичайно, андроїд відрізняється, просто щоб бути різним;)
Джо Махер

21

android:hint="text" надає користувачеві інформацію про те, що саме йому потрібно заповнити editText

наприклад: - у мене є два редакційних тексти, один для числового значення, а інший для значення рядка. ми можемо встановити підказку для користувача, щоб він зрозумів, яке значення йому потрібно надати

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

після запуску програми ці два редакційні тексти покажуть введений підказку, після натискання на редагування тексту він іде і користувач може ввести те, що він хоче (див. зображення Luxurymode)


Це називається підказка в android.
Монті

11

У вашій діяльності

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

введіть тут опис зображення


7

Це як зробити вхідний пароль, який має підказку, яка не перетворена на * !!.

У XML:

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

дякую: манго та rjrjr за розуміння: D.


5

В Android Studio ви можете додати підказку (власник місця) через GUI. Спочатку виберіть поле EditText на дизайнерському поданні. Потім натисніть на Дерево компонентів зліва від IDE (як правило, воно є, але воно може бути зведене до мінімуму) Там ви можете побачити властивості обраного EditText. Знайдіть поле Підказка як нижче зображення

введіть тут опис зображення

Там ви можете додати підказку (власник місця) до EditText


3

Якщо ви маєте на увазі місце, де ви додасте його в макет. Ви можете визначити контейнер, як FrameLayout, і додати цей EditText до нього, коли він створений.

<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

Ви повинні використовувати атрибут android: hint

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

В Android Studio можна переключитися з XML -> Дизайн дизайну та натиснути на Компонент у макеті, у цьому випадку поле EditText. Це покаже всі застосовні атрибути для цього компонента GUI. Це стане в нагоді, коли ви не знаєте про всі атрибути, які там є.

Ви здивуєтеся, побачивши, що EditText має понад 140 атрибутів для налаштування.


0

Якщо ви хочете вставити текст у свій перегляд EditText, який залишається там після вибору поля (на відміну від того, як поводиться підказка), зробіть це:

На Java:

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

У Котліні:

// 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"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.