Как добавить текст- заполнитель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
например: - у меня есть два edittext один для числового значения и другой для строкового значения. мы можем установить подсказку для пользователя, чтобы он мог понять, какую ценность он должен дать
android:hint="Please enter phone number"
android:hint="Enter name"
после запуска приложения эти два edittext покажут введенную подсказку, после нажатия на редактировать текст, он идет, и пользователь может ввести то, что он хочет (см. изображение 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 вы можете добавить подсказку (Place holder) через графический интерфейс. Сначала выберите поле EditText в представлении конструктора. Затем нажмите на дерево компонентов слева от IDE (обычно оно есть, но оно может быть свернуто). Там вы можете увидеть свойства выбранного EditText. Найти поле подсказки, как показано ниже
Там вы можете добавить подсказку (Placeholder) в 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);
Вы должны использовать атрибут андроида: подсказка
<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"