Як можна додати текст заповнення до EditText
класу, який відсутній у XML?
У EditText
моєму коді є таке, що буде показано в подіях дій:
final EditText name = new EditText(this);
Як можна додати текст заповнення до EditText
класу, який відсутній у XML?
У EditText
моєму коді є таке, що буде показано в подіях дій:
final EditText name = new EditText(this);
Відповіді:
А, добре. Що ви шукаєте, так і є setHint(int)
. Просто передайте ідентифікатор ресурсу рядка з вашого XML, і ви готові йти.
А в XML це просто android:hint="someText"
android:hint="text"
надає користувачеві інформацію про те, що саме йому потрібно заповнити editText
наприклад: - у мене є два редакційних тексти, один для числового значення, а інший для значення рядка. ми можемо встановити підказку для користувача, щоб він зрозумів, яке значення йому потрібно надати
android:hint="Please enter phone number"
android:hint="Enter name"
після запуску програми ці два редакційні тексти покажуть введений підказку, після натискання на редагування тексту він іде і користувач може ввести те, що він хоче (див. зображення Luxurymode)
У вашій діяльності
<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"/>
В Android Studio ви можете додати підказку (власник місця) через GUI. Спочатку виберіть поле EditText на дизайнерському поданні. Потім натисніть на Дерево компонентів зліва від IDE (як правило, воно є, але воно може бути зведене до мінімуму) Там ви можете побачити властивості обраного EditText. Знайдіть поле Підказка як нижче зображення
Там ви можете додати підказку (власник місця) до EditText
Якщо ви маєте на увазі місце, де ви додасте його в макет. Ви можете визначити контейнер, як 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);
Ви повинні використовувати атрибут android: hint
<EditText
android:id="@+id/message"
android:hint="<<Your placeholder>>"
/>
В Android Studio можна переключитися з XML -> Дизайн дизайну та натиснути на Компонент у макеті, у цьому випадку поле EditText. Це покаже всі застосовні атрибути для цього компонента GUI. Це стане в нагоді, коли ви не знаєте про всі атрибути, які там є.
Ви здивуєтеся, побачивши, що EditText має понад 140 атрибутів для налаштування.
Якщо ви хочете вставити текст у свій перегляд 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"