Подтвердить что ты не робот

Настройка пользовательского шрифта для фрагментов Android

Я использую Jake Wharton ViewPagerIndicator, и в настоящее время я пытаюсь реализовать собственный шрифт на одном из моих фрагментов. Я пробовал использовать этот код:

   TextView txt = (TextView) findViewById(R.id.Zipcode);
    Typeface font = Typeface.createFromAsset(getAssets(), "fonts/customfont.ttf");
    txt.setTypeface(font); 

В onCreate для основной активности, которая приводит к исключению нулевого указателя в logcat, а иногда typeface cannot be made. Я также попытался установить шрифт в самом фрагменте как в onCreate, так и onCreateView, однако findViewById и getAssests() - неизвестные методы в области фрагмента.

У меня возникли проблемы с выяснением, является ли проблема шрифтом или где я пытаюсь установить fon't. Это проблема.

4b9b3361

Ответ 1

Вы можете попробовать это

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle     savedInstanceState) {
       View v = inflater.inflate(R.layout.fragment_layout, container, false);
       TextView txt = (TextView) v.findViewById(R.id.Zipcode);
       Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/customfont.ttf");
       txt.setTypeface(font); 
       return v;
}

с этим вы можете иметь контекст в области фрагмента и получить представление и активы

Ответ 2

Определить шрифт в классе yourViewHolder`

Typeface customFontBold= Typeface.createFromAsset(getActivity().getAssets(),"fonts/JosefinSans-Bold.ttf");

как это.

Ответ 3

Мой простой код - это метод вызова метода "контекст" в фрагмент с "getContext(); // является getContext и getActvity одинаковым в фрагменте

**result**.setText("Value Expenses = " +expenses);
Typeface supercell = Typeface.createFromAsset(**getContext()**.getAssets(), "fonts/Supercell.ttf");**
**result.setTypeface(supercell);**
}catch (Exception e) 
{
Toast.makeText(getActivity(), "SUCCEED, VALUES RESULT", Toast.LENGTH_SHORT)
.show();
}
break;