android changer listview la police et la couleur

J'ai trouvé des charges de différentes façons d'accomplir cela, mais je ne suis pas sûr de ce qui est le mieux pour mon scénario.

C'est mon code Java pour la liste:

ListView lv;
lv = (ListView) findViewById(R.id.favList);

C'est le code xml de la liste:

<ListView
        android:id="@+id/favList"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="40dp"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:layout_marginTop="20dp"
        android:background="@android:color/transparent"
        android:cacheColorHint="@android:color/transparent"
        android:listSelector="@android:color/transparent" >
    </ListView>

Pour un affichage de texte, je voudrais ajouter:

final Typeface fontList = Typeface.createFromAsset(assets, "optima-extra-black.ttf");
lv.setTypeface(fontList);

Mais cela ne fonctionne pas pour les listviews.
Comment puis-je changer ma police dans ce cas?

Oke j'y suis presque...
J'ai besoin d'accéder à mon actif, mais je ne peux pas partir à l'intérieur de mon adaptateur personnalisé.
J'ai essayé d'utiliser final AssetManager assets = this.getAssets(); mais qui ne m'obtenez pas tout autre..

Comment faire pour remédier à cette situation?

    class Myadapter extends BaseAdapter {

    LayoutInflater lif;
    ImageView sideArrow;
    TextView tv;


    public Myadapter(Context ctx) {
        lif = (LayoutInflater) ctx
                .getSystemService(LAYOUT_INFLATER_SERVICE);

    }

    @Override
    public int getCount() {

        return favarets.size();
    }

    @Override
    public Object getItem(int position) {
        return position;
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        View vi = convertView;
        if (convertView == null)
            vi = lif.inflate(R.layout.inflate, null);
        sideArrow = (ImageView) vi.findViewById(R.id.imageViewsidemark);

        tv = (TextView) vi.findViewById(R.id.textFav);
        tv.setText(favarets.get(position));
        final AssetManager assets = this.getAssets();
        final Typeface tvFont = Typeface.createFromAsset(assets, "OPTIMA.TTF");
        tv.setTypeface(tvFont);

        tv.setTextColor(Color.BLACK);

        return vi;

OriginalL'auteur Stein van Broekhoven | 2013-09-19