22

Я использую эту строку ниже, для того, чтобы установить перечеркивание на моем TextView:Удаление зачеркивания из TextView

tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 

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

Заранее благодарен!

ответ

63

я в конечном итоге найти это в Интернете:

tv.setPaintFlags(tv.getPaintFlags() & (~ Paint.STRIKE_THRU_TEXT_FLAG)); 

Это успешно удаляет перечеркивания, и поэтому я назвал это в моем OnListItemClick метод после проведения проверки в базе данных я сделал, чтобы увидеть, если этот пункт был уже (закупается в моем случае).

2

Вы можете установить OnClickListener на TextView, сбросить флаги краски и вызвать его invalidate(), чтобы он перерисовывал себя.

+0

Мне нравится ваша идея, и я уверен, что смогу заставить этот метод работать, однако я нашел более простой ответ в Интернете. Спасибо, в любом случае. – edwoollard

7

Другим способом является просто установить значение setPaintFlags на нулевое.

tv.setPaintFlags(0) 

Выше кода будет удаляться ударом по тексту, чтобы на следующий текст не было нанесено удара.

+3

это также удалит другие элементы краски, такие как дизайн шрифта, с текстом и сделайте его похожим на скелет без плоти на нем! – Naaz