6

Я использую EditText, чтобы написать текст. Автоматическое предложение Android подчеркивает слово, пока мы не коснемся места. Теперь, если я введу слово без пробела, полученный текст имеет подчеркивание. Это потому, что я использую Html.toHtml (view.getText()).Как удалить привязку автосогласования Android в EditText?

Теперь есть несколько ответов, которые я ожидаю, например, отключение автоматического предложения или использование view.getText(). ToString(), но мне нужны они оба. Мне нужна функция автоматического предложения, а также форматирование текста. Примером, который решает эту проблему, является приложение Gmail. Вы можете написать все, что захотите, в поле EditText, и оно отправит электронное письмо без подчеркивания слов.

+0

Исправьте меня, если я ошибался, но красная линия является частью функции автоматического предложения. Как вы можете предложить авто, но не красную линию? –

+0

@LawrenceChoy Когда я набираю что-то в окне EditText, мне нужны предложения для авто. Но когда я разбираю текст в HTML, я не хочу подчеркивать стиль из-за этой функции. Мне показалось странным, что синтаксический анализ этого текста отражает подчеркивание, потому что я думал, что это будет функция низкого уровня. Теперь я хочу избавиться от этого, не мешая никакому другому форматированию текста в поле EditText, но я не могу понять, как это сделать. – addybist

ответ

8

Используйте это непосредственно перед тем, как вы получите getText(). Это самый простой и официальный способ.

edittext.clearComposingText(); 
2

Делают это, как этот

android:inputType="text|textNoSuggestions" 
+0

Как я уже сказал, я хочу использовать функцию автоматического предложения. Отключение, которое избавит вас от подчеркивания, но также удалите эту функцию. – addybist

+0

Это не работает в Samsung Galaxy S4 – Vinnie

1

я просто придумал решение для этого. После отправки текста просто спрячьте клавиатуру, и текст подчеркивается.

+0

Можете ли вы рассказать мне, как именно вы это сделали? Потому что, хотя я запускаю функцию hide hide, и, во-вторых, из html-функции вторая команда запускается до завершения первого. (Я могу нажать кнопку и отключить клавиатуру (это удаляет подчеркивание), а затем снова нажать клавишу, чтобы получить содержимое как html. Но как я могу сделать это как одним кликом? Есть ли способ отключить клавиатуру, чтобы следующая строка будет работать только после скрытия клавиатуры, и все будет завершено?) – SadeepDarshana

+0

Это было давно, но я думаю, что столкнулся с подобной проблемой, поэтому я сделал поток спящим на пару миллисекунд. Не лучший способ это сделать, но тогда я не мог найти лучшего решения. @SadeepDarshana опубликовала хорошее решение, поэтому я отметил его как принятый ответ. – addybist

Смежные вопросы