I am trying to get the NumberPicker radius running in a class that extends DialogPreference, and I'm having problems with setView (). Let's start with the code:
public class RadiusPickerPreference extends DialogPreference{ public RadiusPickerPreference(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onPrepareDialogBuilder(android.app.AlertDialog.Builder builder) { builder.setTitle(R.string.set_radius_dialog_fragment_title); builder.setView(R.layout.dialog_radius_picker); builder.setPositiveButton(android.R.string.ok, null); builder.setNegativeButton(android.R.string.cancel, null); } }
This gives me an error in builder.setView saying: "API 21 is required to call (current min - 15)." I want to support devices with API 15+, so changing this setting is not an option. Now, if I try to override
protected void onPrepareDialogBuilder(android.support.v7.app.AlertDialog.Builder builder)
instead, he says: "A method does not cancel a method from its superclass."
The question is, how can I set the view? This does not have to be in onPrepareDialogBuilder () if it supports API 15+. Thanks!
PS: Let me know if you need more code. To display it in XML, just add it to <PreferenceScreen> :
<com.example.project.RadiusPickerPreference android:id="@+id/radPickerPref" android:key="@string/pref_key_default_radius" android:title="@string/pref_title_default_radius"/>
source share