Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android列表视图中的字体不工作_Java_Android_Listview_Fonts - Fatal编程技术网

Java android列表视图中的字体不工作

Java android列表视图中的字体不工作,java,android,listview,fonts,Java,Android,Listview,Fonts,因此,我创建了这个自定义阵列适配器: View row = convertView; ViewHolder holder; iconFont = Typeface.createFromAsset(activity.getAssets(), "fontawesome-webfont.ttf" ); if (row == null) { LayoutInflater layoutInflate

因此,我创建了这个自定义阵列适配器:

        View row = convertView;
        ViewHolder holder;
        iconFont = Typeface.createFromAsset(activity.getAssets(), "fontawesome-webfont.ttf" );

        if (row == null) 
        {
            LayoutInflater layoutInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            row = layoutInflater.inflate(R.layout.event_type_list_row, null);
            holder = new ViewHolder();
            holder.icon = (TextView) row.findViewById(R.id.EventTypeListRow_icon_EditText);
            holder.name = (TextView) row.findViewById(R.id.EventTypeListRow_name_EditText);
            row.setTag(holder);
        }
        else
        {
            holder = (ViewHolder) row.getTag();
        }
        final EventTypeDataObj eventType = data.get(position);
        if (eventType != null) 
        {
            //holder.icon.setText(eventType.getIconCode()); f02c;
            holder.icon.setText("");
            holder.icon.setTypeface(iconFont);
            holder.name.setText("");
            holder.name.setTypeface(iconFont);
        }

        return row;
我没有看到这些缺点,我在列表视图中看到了如下代码:

注意:其他字体(适用于字母而非图标)。我们正在工作


它不起作用的原因是什么?

将字体awesome字符串放在
strings.xml
中,并使用
getString(R.string.whatever)
引用它们。Android将为您处理Unicode格式


显然是一个XML实体。我没有理由相信android应该这样对待,而不是简单的字符串。从你的截图来看,显然是这样

如果要通过指定字符的unicode值来指定字符,java中的正确用法是
\u
,如下所示:

holder.name.setText("\uf001");
编辑 如果您的输入是
”&#f001;“
,并且不能被
“\uf001”
替换,则也可以使用
Html.fromHtml
解码字符串中的XML实体:

holder.name.setText(Html.fromHtml("&#f001;"));

当我在静态视图(不是listview行)中手动添加字符串时,我就是这样工作的,但我从数据库中获取此图标代码…使用HTML.fromHtml或其他东西?您能举个例子吗?或者您的字符串不应该是
“\uf001”
?我有
holder.icon.setText(activity.getResources().getString(R.string.list_icon))它工作得很好!也许我需要将字符串格式化为utf-8是的,因为string.xml是一个xml文件,xml解析解析xml实体,而textView没有。utf-8与此无关,这些是unicode值,utf-8是一种表示法。只需使用java
\u
表示法,就像我在java代码中使用这些字符时所发布的示例一样可以工作,尽管我还没有测试过它。