我在资产文件夹中有一个字体,并且在我的片段中这样称呼它:
Typeface custom_font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/myFont.otf");
但是我收到了一个警告,说getAssets()
可能返回null。
我做了一些研究,发现了this个问题/答案。我目前已经有了活动上下文。
我想做的是在Activity
中添加以下方法:
public static Typeface getMyFont(Activity context){
return Typeface.createFromAsset(context.getAssets(), "fonts/myFont.otf");
}
然后从我的片段中这样调用它:
mTextView.setTypeface(Activity.getMyFont(getActivity()));
通过上述操作,我没有收到任何警告,但是我不确定这是否正确,所以..
我的问题是:
我应该忽略棉绒警告吗?我应该像上面那样做吗,还是有正确的做事方法?
答案 0 :(得分:1)
如果片段当前未附加到父活动,则但是我收到了一个警告,说getAssets()可能返回null。
def new_user_notification(user)
@user = user
mail(to: @user.email, subject: "Welcome")
end
中的可以返回Fragments
,
解决方案1::检查您的活动是否不为空
getActivity()
解决方案2::您可以使用 null
获取上下文
if(getActivity()!=null){
Typeface custom_font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/myFont.otf");
}
答案 1 :(得分:0)
我认为您应该使用以下代码:
Typeface myFont = Typeface.createFromAsset(getActivity().getAssets(), "myFont.ttf");
mTextView.setTypeface(myFont)
工作成功。