Изменить шрифт TextView, которого нет в activity_main.xml

У меня есть СписокВидео. Он содержит 3 TextView не из activity_main.xml.

   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);

Как изменить шрифт TextViews внутри ListView?

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. Что я делаю неправильно?


person Joe Rakhimov    schedule 24.08.2013    source источник
comment
Итак, wordonlist.xml файл макета элемента списка... правильный?   -  person Squonk    schedule 24.08.2013
comment
Чтобы использовать шрифт, хранящийся в assets, вам нужно написать собственный адаптер.   -  person Vikram    schedule 24.08.2013


Ответы (2)


Вы можете оформить TextViews в формате xml (например, макет строки), как указано в статьи о стилях и темах.

Если вам нужно программно изменить шрифт (например, только для некоторых экземпляров или с использованием параметров, неизвестных во время компиляции), вы можете создать анонимный подкласс (или обычный подкласс) SimpleCursorAdapter, который применяет изменения в методе getView адаптера. Для этого см. слегка связанный ответ на изменение цвета текста. Ваш код расширяет макет (таким образом создавая новый экземпляр View) и изменяет этот одиночный экземпляр, а не экземпляры, добавленные в ваш список.

person dst    schedule 24.08.2013

Теперь поддерживается шрифт OpenType Используйте шрифт TrueType

Поддерживаемый шрифт

person Naveen Tamrakar    schedule 24.08.2013