I'm trying to add images on ListPreference
and I achieved that but on Android API level 15 or higher it doesn't work. What I'm doing wrong? I have tested this code on 2.2 and 2.3.3 and all works fine!
Here is my code.
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);
}
Instead of using this approach a cleaner approach would be to declare a layout for the preference object and set the android:layout
parameter of the preference with the resource id of your custom layout.
Here is a working code example.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With