Reputation: 12335
I'm using this line below in order to set a strikethrough on my TextView:
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
However later on in the Fragment, if they click the TextView again, I would like the strikethrough to be removed. What line of code can I use to simply make the TextView display the text in the normal format again?
Thanks in advance!
Upvotes: 44
Views: 24658
Reputation: 5979
Another way is to simply set value of setPaintFlags
to Zero.
tv.setPaintFlags(0)
NOTE:
This will remove strike through your text and other Typeface design, You are free to use in case it doesn't applied to your view.
Upvotes: 22
Reputation: 3818
Setting up AntiAlias helped me to make text look less distored
Kotlin
tv.paintFlags = Paint.ANTI_ALIAS_FLAG
Upvotes: 2
Reputation: 12335
I ended up finding this online:
tv.setPaintFlags(tv.getPaintFlags() & (~ Paint.STRIKE_THRU_TEXT_FLAG));
This successfully removes the strikethrough and therefore I called this in my OnListItemClick
method after carrying out a check in the database I made to see if the item had already been striked through (purchased in my case).
Upvotes: 93
Reputation: 13223
You can set an OnClickListener
on the TextView
, reset the paint flags, and call its invalidate()
so it redraws itself.
Upvotes: 3