2015-11-28 2 views
0
ListView listView = (ListView) findViewById(R.id.listView); 
View v = listView.getChildAt(0); 
Typeface typeface = Typeface.createFromAsset(getAssets(), "a.ttf"); 
((TextView) v).setTypeface(typeface); 

что это проблема?Listview с типом лица

+2

Хороший вопрос. В чем проблема? Что ты пытаешься сделать? Является ли ваш код не компилируемым, он бросает ошибку во время выполнения или просто не ведет себя так, как ожидалось? – luator

+0

em пытается получить доступ к элементам listview и бросать их по-разному на каждый элемент, но когда я запускаю приложение, он останавливается. –

+0

java.lang.RuntimeException: –

ответ

1

Вы не можете настроить собственный шрифт для просмотра списка таким образом. Прежде всего, вам нужно создать собственный пользовательский адаптер для просмотра списка. И вам нужно установить собственный шрифт в методе getView вашего пользовательского адаптера. Пример:

@Override 
public View getView(int position, View convertView, ViewGroup parent) 
{ 
    View v = convertView; 
    if(v == null) 
    { 
     LayoutInflater li = (LayoutInflater)getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     v = li.inflate(R.layout.list_item, null); 
    } 

    // Setting custom font to text view 
    TextView titleText = (TextView) v.findViewById(R.id.title); 
    Typeface typeface = Typeface.createFromAsset(getAssets(), "a.ttf"); 
    titleText.setTypeface(typeface); 

    // Do other stuffs 

    return v; 
}  
+0

Он будет делать это для всех предметов здесь. Я пытаюсь дать разные шрифты для разных предметов? как я это делаю –

+0

@JawadZahid: вы можете проверить позицию и установить разные шрифты соответственно –

+0

для позиции, которую я должен использовать onitemclicklistener, но это изменит шрифты после того, как я нажму элемент списка, как я это сделаю, не нажимая? –

Смежные вопросы