Android 安卓为ListView的每个项目设置不同的字体
我有一个ListView。我想为ListView的每个项目设置不同的字体。谁能帮我举个例子?Android 安卓为ListView的每个项目设置不同的字体,android,listview,android-listview,fonts,Android,Listview,Android Listview,Fonts,我有一个ListView。我想为ListView的每个项目设置不同的字体。谁能帮我举个例子? 我想要这样的东西在列表适配器的getView中执行类似的操作 public class MyAdapter extends ArrayAdapter<JSONObject> { Context mContext; private LayoutInflater inflater; public MyAdapter(Context context, List<JS
我想要这样的东西在列表适配器的getView中执行类似的操作
public class MyAdapter extends ArrayAdapter<JSONObject> {
Context mContext;
private LayoutInflater inflater;
public MyAdapter(Context context, List<JSONObject> list) {
super(context, 0, list);
this.mContext = context;
inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
final Typeface type1 = Typeface.createFromAsset(getAssets(), "myFancyFont.ttf");
final Typeface type2 = Typeface.createFromAsset(getAssets(), "DroidSans.ttf");
if (convertView == null) {
convertView = inflater.inflate(R.layout.item_feed, parent, false);
holder = new ViewHolder();
holder.textview = (TextView) convertView.findViewById(R.id.label_title);
} else {
holder = (ViewHolder) convertView.getTag();
}
if(position == 0) {
holder.textview.setTypeface(type1);
} else {
holder.textview.setTypeface(type2);
}
holder.textview.setText("item with pos." + position)
return convertView;
}
class ViewHolder {
TextView textivew;
}
}
公共类MyAdapter扩展了ArrayAdapter{
语境;
私人充气机;
公共MyAdapter(上下文、列表){
超级(上下文,0,列表);
this.mContext=上下文;
充气器=(LayoutInflater)mContext.getSystemService(Context.LAYOUT\u充气器\u SERVICE);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
最终持票人;
final Typeface type1=Typeface.createFromAsset(getAssets(),“myFancyFont.ttf”);
final Typeface type2=Typeface.createFromAsset(getAssets(),“DroidSans.ttf”);
if(convertView==null){
convertView=充气机。充气(R.layout.item_feed,父项,false);
holder=新的ViewHolder();
holder.textview=(textview)convertView.findViewById(R.id.label\u title);
}否则{
holder=(ViewHolder)convertView.getTag();
}
如果(位置==0){
holder.textview.setTypeface(type1);
}否则{
holder.textview.setTypeface(type2);
}
holder.textview.setText(“带位置的项目”+位置)
返回视图;
}
类视图持有者{
文本视图文本视图;
}
}
您还可以在其他地方将字体定义为静态最终字体。您想使用自定义字体还是系统字体?我正在使用程序的“资源”文件夹中的自定义字体我更新了答案,这是适配器的getView。如果您有疑问,请告诉我您在哪里声明了充气器我添加了适配器的其余部分。充气器像往常一样在适配器的构造函数中声明。但是我没有这样的资源R.id.label\u title我想要这样的东西