set typeface of text view to Typeface.NORMAL doesn't have any effect, why?

If you use android:fontFamily on this TextView then I am pretty sure

textView.setTypeface(null, Typeface.NORMAL);

will change to the default font. Another way to do this is:

textView.setTypeface(Typeface.create(textView.getTypeface(), Typeface.NORMAL));

The original problem is that TextView's setTypeface with the style oddly skips over some stuff if the style is NORMAL. I've tested this on one version, and it works.


Use this instead:

textView.setTypeface(null, Typeface.NORMAL);

you need to put null to drop the other typefaces (in your case Bold). How I understand it one text view can have multiple typesfaces, like for example italic+bold etc. and the first parameter is to indicate if you want to keep those or not. So basically your previous code kept BOLD and added NORMAL, and BOLD won ;-)

see also related answer and comments here https://stackoverflow.com/a/6200841/2399024