Android 安卓为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

我有一个ListView。我想为ListView的每个项目设置不同的字体。谁能帮我举个例子?
我想要这样的东西

在列表适配器的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我想要这样的东西