2012-09-02 21 views
5

Sto cercando di aggiungere immagini su ListPreference e l'ho raggiunto, ma su Android API di livello 15 o superiore non funziona. Cosa sto facendo di sbagliato? Ho testato questo codice su 2.2 e 2.3.3 e tutto funziona bene! Ecco il mio codice.Mostrare l'immagine sul sommario ListPreference

private void addSummary(Drawable d, Spannable sp) { 

    d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); 

    SpannableStringBuilder builder = new SpannableStringBuilder(); 
    builder.append(Const.IMAGE_ANCHOR); 
    builder.append(" "); 
    builder.append(sp); 
    setTextColor(builder); 
    ImageSpan imageSpan = new ImageSpan(d); 
    int end = Const.IMAGE_ANCHOR.length(); 

    builder.setSpan(imageSpan, 0, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    listPreference.setSummary(builder); 

} 

risposta

2

Invece di usare questo approccio un approccio più pulito sarebbe quello di dichiarare un layout per l'oggetto preferenza e impostare il parametro android:layout della preferenza con l'ID risorsa del layout personalizzato.

Here è un esempio di codice funzionante.

Problemi correlati