Java Can';t将自定义字体设置在ViewHolder内

Java Can';t将自定义字体设置在ViewHolder内,java,android,xml,android-layout,android-viewholder,Java,Android,Xml,Android Layout,Android Viewholder,我已经尝试了在stackoverflow上能找到的一切,但似乎没有任何效果 问题是我无法更改CardViewLayout中任何TextView的字体 我尝试过xml中的字体系列和文本外观 我通过这样做对其进行了更改,但出现了错误无法解析符号“itemView” 代码: 公共类cardAdapter扩展了ArrayAdapter{ 公共卡适配器(上下文){ 超级(上下文,0); } @凌驾 公共视图getView(int位置、视图contentView、视图组父级){ 视窗座; if(conten

我已经尝试了在stackoverflow上能找到的一切,但似乎没有任何效果

问题是我无法更改CardViewLayout中任何TextView的字体

我尝试过xml中的字体系列和文本外观 我通过这样做对其进行了更改,但出现了错误无法解析符号“itemView”

代码:

公共类cardAdapter扩展了ArrayAdapter{
公共卡适配器(上下文){
超级(上下文,0);
}
@凌驾
公共视图getView(int位置、视图contentView、视图组父级){
视窗座;
if(contentView==null){
LayoutInflater充气器=LayoutInflater.from(getContext());
contentView=充气机。充气(R.layout.card\u布局,父级,false);
支架=新的视图支架(contentView);
contentView.setTag(持有者);
}否则{
holder=(ViewHolder)contentView.getTag();
}
cardModel spot=getItem(位置);
holder.title.setText(spot.title);
支架.说明.setText(点说明);
Glide.with(getContext()).load(spot.url).into(holder.image);
返回contentView;
}
私有静态类视图持有者{
公共文本视图标题;
公共文本视图描述;
公众形象;
Typeface customTypeOne=Typeface.createFromAsset(itemView.getContext().getAssets(),“fonts/typefaceone.ttf”);
公共视图持有者(视图){
this.title=(TextView)view.findViewById(R.id.title);
标题.设置字体(自定义字体);
this.description=(TextView)view.findViewById(R.id.description);
this.image=(ImageView)view.findViewById(R.id.image);
}
}
}
但我得到的错误是无法解析符号“itemView”

这是因为您没有任何名为
itemView
的内容

首先,替换:

Typeface customTypeOne = Typeface.createFromAsset(itemView.getContext().getAssets(), "fonts/typefaceone.ttf");
与:

然后,在
ViewHolder
构造函数的底部添加:

customTypeOne = Typeface.createFromAsset(this.title.getContext().getAssets(), "fonts/typefaceone.ttf");

现在,您正在对存在的某个对象调用
getContext()

itemView
在哪里声明?我试图在public ViewHolder中声明它,但没有错误,但当我启动应用程序时它崩溃了。请将您的问题包括您的尝试和完整的错误消息。我正要编辑问题中的代码,我已经这样做了,但是当我启动活动时,它crashes@newbieCoder.pkg:然后使用LogCat检查与崩溃相关的Java堆栈跟踪:嗯,我猜错误是找不到字体资源。那就容易了:)。谢谢你,伙计。
Typeface customTypeOne;
customTypeOne = Typeface.createFromAsset(this.title.getContext().getAssets(), "fonts/typefaceone.ttf");