EditText с подсказкой на несколько строк

У меня есть большая коробка EditText. Я хочу, чтобы подсказка в поле выглядела так (подсветка синтаксиса не предназначена):

Hint about the first line
Hint about the second line
Hint about the third line

Я попытался использовать android:hint="@string/hints" на EditText со следующим в strings.xml, но подсказка все еще была в одной строке.

<string name="hints">
Hint about the first line
Hint about the second line
Hint about the third line
</string>

Как можно получить многострочную подсказку в EditText?


person mndrix    schedule 10.12.2010    source источник
comment
Я нашел решение здесь .com/questions/28060772/   -  person Josu Garcia de Albizu    schedule 13.01.2016


Ответы (2)


Вы можете включать новые строки в строки, явно указав их:

<string name="hint">Manny, Moe and Jack\nThey know what I\'m after.</string>

Новые строки в XML обрабатываются как пробелы.

person Blrfl    schedule 10.12.2010
comment
Я попробовал то же самое \n для подсказки новой строки, она работает во время разработки, я имею в виду в XML, но она не работает на реальном устройстве, на реальном устройстве отображается одна строка. Можете объяснить, в чем проблема? - person Arbaz.in; 14.12.2018

Создайте отдельный строковый ресурс для каждой строки:

<string name="hint_one">Hint about the first line</string>
<string name="hint_two">Hint about the second line</string>
<string name="hint_three">Hint about the third line</string>

не включайте атрибут android:hint в XML макета. Там, где создается EditText, установите подсказку вручную:

// get the string values
final Resources res = getResources();
final String one   = res.getString(R.string.hint_one);
final String two   = res.getString(R.string.hint_two);
final String three = res.getString(R.string.hint_three);

// set the hint
final EditText et = (EditText) findViewById(R.id.some_edit_text);
et.setHint( one + "\n" + two + "\n" + three );
person mndrix    schedule 10.12.2010