изменить фон ListPreference

#android

#Android

Вопрос:

Как изменить фон предпочтения списка?

Я пытаюсь сделать следующее

 public class NewListPreferences extends ListPreference
{

    public NewListPreferences(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onPrepareDialogBuilder(Builder builder) {
        Dialog d = this.getDialog();
//      d.getLayoutInflater();
        FrameLayout f1 = (FrameLayout) d.findViewById(getDialogLayoutResource());
        f1.setBackgroundResource(R.drawable.bg);

        d.setContentView(f1);
        super.onPrepareDialogBuilder(builder);
    }
}
  

Но я получаю «исключение нулевого указателя»
, также я попытался setContentView(R.id.custom_d);

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/bg"
    android:orientation="vertical" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawSelectorOnTop="false"
        android:scrollbarAlwaysDrawVerticalTrack="true" >
    </ListView>

</LinearLayout>
  

если я сделаю

 <ListPreference
                android:key="units"
                android:title="@string/units_setting"
                android:summary="@string/units_setting_details"
                android:entries="@array/units_preference"
                android:entryValues="@array/units_preference_values"
                android:dialogTitle="@string/units_setting_title"
                android:dialogLayout="@layout/custom_d"
                android:defaultValue="imperial" />
  

я получаю измененный фон, но диалоговое окно не содержит никаких элементов