Java 以编程方式设置自定义字体

Java 以编程方式设置自定义字体,java,android,textview,android-typeface,Java,Android,Textview,Android Typeface,相当直接。它似乎不想为我工作。我得到的错误是getAssets()是红色的,它表示无法解析方法“getAssets()” 我的字体路径是:C:\Users\Joe\AndroidStudioProjects\my app\app\src\main\assets\font\calligraffetti Regular.ttf 发生了什么事?尝试调用片段的活动,然后调用资产 getActivity().getAssets() 如果你是在碎片替换 Typeface myTypeface = Type

相当直接。它似乎不想为我工作。我得到的错误是
getAssets()
是红色的,它表示
无法解析方法“getAssets()”

我的字体路径是:
C:\Users\Joe\AndroidStudioProjects\my app\app\src\main\assets\font\calligraffetti Regular.ttf


发生了什么事?

尝试调用片段的活动,然后调用资产

getActivity().getAssets()

如果你是在碎片替换

Typeface myTypeface = Typeface.createFromAsset(getAssets(), "fonts/Calligraffitti-Regular.ttf");


干杯

此对象不是指您的活动。使用

WhatevernameActivity.this.getAssets();

在此mettod中传递上下文和文本视图

您是在活动中还是在片段中?getActivity().getAssets()所有否决票的原因是什么?
Typeface myTypeface = Typeface.createFromAsset(getActivity().getAssets(), "fonts/Calligraffitti-Regular.ttf");
WhatevernameActivity.this.getAssets();
// Set typeface on textview
public static void SetTypeFace(Context ctx, TextView tv) {
    Typeface font = Typeface.createFromAsset(ctx.getAssets(),
            "Telex-Regular.ttf");
    tv.setTypeface(font);
}