Intereting Posts
Получение текущего местоположения устройства с помощью {X} api Просмотр списка Android с разделителями Ant не удалось создать подписанный apk после обновления до android v20 Как получить круговой, обрезанный по центру образ, без создания нового растрового изображения? Получить путь к папке галереи в Android Использование AsyncTask для отправки электронной почты Android Как я могу заставить приложение Android общаться с веб-сервером через Интернет? Найти точные координаты одного символа внутри TextView Формат пакета xml для Android не распознает свойства aapt Значок приложения запуска отображается на панели действий активности Как найти список точек в строке на холсте android Экземпляр Android-Detail из примера базы данных Ошибка камеры 100 Измените цвет фона списка ListView, но сохраните стиль селектора по умолчанию? Android не может расширить службу сообщений Firebase

Изменение шрифта фрагмента списка на фрагменте Detail

Я пытаюсь реализовать фрагмент с помощью android 4.0. Я добавил три элемента в фрагменте списка в файле DummyContent.java

static { // Add 3 sample items. addItem(new DummyItem("1", "Videos")); addItem(new DummyItem("2", "Images")); addItem(new DummyItem("3", "Story")); } 

Эти видеоролики, изображения, история появляются на левой стороне фрагмента по щелчку каждого элемента, который показывает подробную информацию о фрагменте детали в правой части.

Я хочу изменить шрифт этих представлений списков, но проблема – это фрагмент списка, который использует текстовое представление систем, как показано ниже.

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // TODO: replace with a real list adapter. setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(getActivity(), android.R.layout.simple_list_item_activated_1, android.R.id.text1, DummyContent.ITEMS)); } 

Который не позволяет мне применять Typeface к android.R.id.text1

пожалуйста, помогите мне

Один из способов – расширить ArrayAdapter и переопределить метод getView чтобы удержать TextView :

 public class MyArrayAdapter<T> extends ArrayAdapter<T> { public MyArrayAdapter(Context context, List<T> items) { super(context, android.R.layout.simple_list_item_activated_1, android.R.id.text1, items); } public MyArrayAdapter(Context context, T[] items) { super(context, android.R.layout.simple_list_item_activated_1, android.R.id.text1, items); } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); TextView textView = (TextView) view.findViewById(android.R.id.text1); textView.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "font/segoeuil.tff")); return view; } } 

Затем вы установите свой адаптер следующим образом:

 setListAdapter(new MyArrayAdapter<DummyContent.DummyItem>(getActivity(), DummyContent.ITEMS); 

Вы можете использовать свой собственный макет вместо предопределенных макетов. Создайте XML-файл, подобный этому.

 <?xml version="1.0" encoding="utf-8"?> say your layout name be custom.xml <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/cust_view" android:layout_width="match_parent" android:textSize="12dp" android:padding="6dp" android:layout_height="wrap_content" /> 

Вы можете дать свой собственный шрифт этому макету. И установите такой адаптер как это

 setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(getActivity(), R.layout.custom, android.R.id.text1, DummyContent.ITEMS)); 

Я надеюсь, что это поможет вам