Null pointer exception while importing a font in a

2019-06-18 18:47发布

问题:

I am trying to import a font. Looked for some tutorials online and used the instructions. So far I've imported the font onto the assets folder. This is the code that I am using to declare my font type.

Typeface localTypeface1 = Typeface.createFromAsset(getAssets(), "arial.ttf");

I keep getting null pointer exception when I call it.

TextView txtTab = new TextView(this);
txtTab.setTypeface(localTypeface1);

What could be the problem ? This is the exact error in logcat.

11-17 13:10:41.024: E/AndroidRuntime(2262): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{se.copernicus.activity/se.copernicus.activity.Secondactivity}: java.lang.NullPointerException
11-17 13:10:41.024: E/AndroidRuntime(2262): at android.content.ContextWrapper.getAssets(ContextWrapper.java:74)

This is line 74

Typeface localTypeface1 = Typeface.createFromAsset(getAssets(), "arial.ttf");

回答1:

What I have seen is that, Android cannot read some ttf files. (maybe the file is corrupted?)

I was not able to use a ttf file in my app but another app in my phone was able to read the same ttf file. (I used the same code as above, tried cleaning, replacing it diff folders nothing seemed to work)

Ended up using a different font file altogether. (Had no issues with this file with the same code!)



回答2:

Did you try moving your font directly into assets? (Not in the fonts folder), and getting rid of the fonts folder?



回答3:

Try cleaning (Project -> Clean...) your project