2012-09-02 16 views
5

私はListPreferenceに画像を追加しようとしていますが、それは達成されましたが、Android APIレベル15以上では動作しません。私は間違っているの?私は2.2と2.3.3でこのコードをテストして、すべて正常に動作します! ここに私のコードです。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); 

} 

答えて

2

代わりに、このアプローチを使用してのクリーンなアプローチが好みオブジェクトのレイアウトを宣言し、カスタムレイアウトのリソースIDと好みのandroid:layoutパラメータを設定することです。

Hereは実用的なコード例です。