Android:实现字体时出错

Android:实现字体时出错,android,typeface,Android,Typeface,我正在制作一个应用程序,在这个应用程序中,我的类扩展了RelativeLayout并实现了OnClickListener,但我的问题是我无法设置字体,因为它给出了异常 public class Viewnew extends RelativeLayout implements OnPageChangeListener { Context mContext; 当我使用 Typeface tf=Typeface.createFromAsset(mContext.getAssets(), "font

我正在制作一个应用程序,在这个应用程序中,我的类扩展了
RelativeLayout
并实现了
OnClickListener
,但我的问题是我无法设置
字体
,因为它给出了
异常

public class Viewnew extends RelativeLayout implements OnPageChangeListener {
Context mContext;
当我使用

Typeface tf=Typeface.createFromAsset(mContext.getAssets(), "fonts/trbuc.ttf");
我在
mContext
收到异常,异常如下:

E/AndroidRuntime(15203): Caused by: java.lang.RuntimeException: native typeface cannot be made
E/AndroidRuntime(15203): at android.graphics.Typeface.<init>(Typeface.java:240)
E/AndroidRuntime(15203):at android.graphics.Typeface.createFromAsset(Typeface.java:214)
E/AndroidRuntime(15203):原因:java.lang.RuntimeException:无法生成本机字体
E/AndroidRuntime(15203):在android.graphics.Typeface.(Typeface.java:240)
E/AndroidRuntime(15203):在android.graphics.Typeface.createFromAsset(Typeface.java:214)上
更改为

Typeface tf=Typeface.createFromAsset(getContext().getAssets(), "fonts/trbuc.ttf");

上下文显然不是问题所在,因为这不是空指针


问题是您指定的字体文件。首先,检查路径是否正确。如果是,请尝试加载其他字体文件,看看是否有效。Android无法加载所有字体。它很挑剔。如果你能找到类似的字体,试试看。我希望这最终对您有用。

请使用以下代码

// Font path
String fontPath = "fonts/trbuc.ttf";

// text view label
TextView txtGhost = (TextView) findViewById(R.id.mTxtViewCustomFont);

// Loading Font Face
Typeface tf = Typeface.createFromAsset(mContext.getAssets(), fontPath);

// Applying font
txtGhost.setTypeface(tf);

我用.otf代替了.ttf,效果很好。感谢大家的帮助

添加完整的logcat,不仅仅是行。您是否使用
CustomAdapter
类实现
typeface
?乍一看,我猜您在初始化自定义关系布局时没有正确设置
mContext
,因此,请检查它是否正常。get Assets无法使用相对布局,因为我的类扩展了相对性。请提供完整的活动代码或类代码,并尝试我编辑的答案。