edwoollard
edwoollard

Reputation: 12335

Removing Strikethrough from TextView

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

Answers (4)

Ronak Mehta
Ronak Mehta

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

pratham kesarkar
pratham kesarkar

Reputation: 3818

Setting up AntiAlias helped me to make text look less distored

Kotlin

tv.paintFlags = Paint.ANTI_ALIAS_FLAG

Upvotes: 2

edwoollard
edwoollard

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

Emmanuel
Emmanuel

Reputation: 13223

You can set an OnClickListener on the TextView, reset the paint flags, and call its invalidate() so it redraws itself.

Upvotes: 3

Related Questions