Изменение шрифта фрагмента списка на фрагменте 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)); 

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

Intereting Posts