Удаление зачеркивания из TextView


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

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

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

Заранее спасибо!

3 27

3 ответа:

Я нашел это в интернете:

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

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

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

tv.setPaintFlags(0) 

Выше код будет удалить удар через ваш текст, так что не будет удара в следующий textview.

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