package com.mick88.dittimetable.event_details;

import java.util.List;

import com.mick88.dittimetable.R;
import com.mick88.dittimetable.utils.FontApplicator;


import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class KeyValueAdapter extends ArrayAdapter<KeyValue>
{
	FontApplicator 
		fontApplicator;
	
	public KeyValueAdapter(Context context, List<KeyValue> objects) {
		super(context, 0, 0, objects);
		this.fontApplicator = new FontApplicator(context.getAssets(), "Roboto-Light.ttf");
	}
	
	@Override
	public View getView(int position, View convertView, ViewGroup parent)
	{
		LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		View view = inflater.inflate(R.layout.list_item_detail, parent, false);
		
		TextView tvName, tvValue;
		
		tvName = (TextView) view.findViewById(android.R.id.text1);
		tvValue = (TextView) view.findViewById(android.R.id.text2);
		
		fontApplicator.applyFont(view);
		
		tvName.setText(getItem(position).key);
		tvValue.setText(getItem(position).value);
				
		return view;
	}
	
}

package com.mick88.dittimetable.event_details;

import java.util.List;

import com.mick88.dittimetable.R;
import com.mick88.dittimetable.utils.FontApplicator;


import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class KeyValueAdapter extends ArrayAdapter<KeyValue>
{
	FontApplicator 
		fontApplicator;
	
	private static class ViewHolder
	{
		TextView tvName, tvValue;
	}
	
	public KeyValueAdapter(Context context, List<KeyValue> objects) {
		super(context, 0, 0, objects);
		this.fontApplicator = new FontApplicator(context.getAssets(), "Roboto-Light.ttf");
	}
	
	@Override
	public View getView(int position, View convertView, ViewGroup parent)
	{
		final View view;
		final ViewHolder holder;
		
		if (convertView == null)
		{
			LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			view = inflater.inflate(R.layout.list_item_detail, parent, false);
			fontApplicator.applyFont(view);
			
			holder = new ViewHolder();
			holder.tvName = (TextView) view.findViewById(android.R.id.text1);
			holder.tvValue = (TextView) view.findViewById(android.R.id.text2);
			
			view.setTag(holder);
		}
		else
		{
			view = convertView;
			holder = (ViewHolder) view.getTag();
		}
		
		holder.tvName.setText(getItem(position).key);
		holder.tvValue.setText(getItem(position).value);
				
		return view;
	}
	
}

Use view holder for details list