【问题标题】:Null pointer exception while importing a font in android在android中导入字体时出现空指针异常
【发布时间】:2011-12-31 02:38:35
【问题描述】:

我正在尝试导入字体。在网上找了一些教程并使用了说明。到目前为止,我已经将字体导入到 assets 文件夹中。这是我用来声明我的字体类型的代码。

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

当我调用它时,我不断收到空指针异常。

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

可能是什么问题? 这是 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)

这是第 74 行

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

【问题讨论】:

  • 注意:我先尝试从“fonts/arial.ttf”导入,因为它不起作用我改为“arial.ttf”

标签: java android fonts typeface


【解决方案1】:

您是否尝试将字体直接移动到资产中? (不在字体文件夹中),并摆脱字体文件夹?

【讨论】:

  • 是的,我确实尝试过这种方式。如果您可以在我发布的图片中看到,arial.ttf 有两个条目。一个来自 assets/fonts/arial.ttf 文件夹,另一个来自 assets/arial.ttf。
  • 啊,好的,层次结构视图并不总是那么清晰 :) 但是您是否尝试过完全删除文件夹字体?它可能会在加载时搞砸
【解决方案2】:

尝试清理(项目 -> 清理...)您的项目

【讨论】:

    【解决方案3】:

    我看到的是,Android 无法读取一些 ttf 文件。 (可能是文件损坏了?)

    我无法在我的应用程序中使用 ttf 文件,但我手机中的另一个应用程序能够读取相同的 ttf 文件。 (我使用与上面相同的代码,尝试清理,替换它 diff 文件夹似乎没有任何工作)

    最终完全使用了不同的字体文件。 (使用相同代码的文件没有问题!)

    【讨论】:

      猜你喜欢
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多