0

我有列表视图。它包含 3 个不是来自 activity_main.xml 的 TextView。

   cursor = myDatabase.getJoinedInfo(etSearch.getText().toString().trim());

        String[] columns = new String[] { "re_value", "g_value", "ke_value" };

        int[] to = new int[] { R.id.tvHiragana, R.id.tvMeaning, R.id.tvKanji };

        dataAdapter = new SimpleCursorAdapter(this, R.layout.wordonlist,
                cursor, columns, to, 0);

        // Assign adapter to ListView

        listView.setAdapter(dataAdapter);

如何更改 ListView 中 TextViews 的字体?

final Typeface mFont = Typeface.createFromAsset(getAssets(),
            "fonts/himaji.otf");
    LayoutInflater ltInflater = getLayoutInflater();
    View view = ltInflater.inflate(R.layout.wordonlist, null, false);
    tvHiragana=(TextView) view.findViewById(R.id.tvHiragana);
    tvHiragana.setTypeface(mFont);

此代码无法更改 TextView 的字体。我做错了什么?

4

2 回答 2

0

现在支持 OpenType 字体 使用 TrueType 字体

支持的字体

于 2013-08-24T04:51:30.247 回答
0

您可以按照样式和主题文章TextViews中的概述在 xml 中设置样式(例如行布局)。

如果您需要以编程方式更改字体(例如,仅针对某些实例,或使用编译时未知的参数),您可以创建一个匿名子类(或常规子类),该子类应用适配器方法SimpleCursorAdapter中的更改。getView为此,请参阅与 text color changed 稍微相关的答案。您的代码扩展了布局(从而创建了一个新View实例),并更改了该单个实例,而不是添加到列表中的实例。

于 2013-08-24T00:59:20.910 回答