Sto cercando di ottenere un raggio NumberPicker in esecuzione in una classe che estende DialogPreference e sto avendo un sacco di problemi nel far funzionare setView(). Cominciamo con un po 'di codice:Alertdialog.Builder setview: la chiamata richiede il livello API 21
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);
}
}
Questo mi dà un errore sul builder.setView dicendo "Call richiede API 21 (corrente minimo è 15)." Voglio supportare i dispositivi con API 15+, quindi non è possibile cambiarlo. Ora, se cerco di ignorare
protected void onPrepareDialogBuilder(android.support.v7.app.AlertDialog.Builder builder)
invece, si dice "Metodo non sovrascrive il metodo della sua superclasse."
La domanda è, come posso impostare la vista? Non deve necessariamente essere in onPrepareDialogBuilder(), a patto che supporti l'API 15+. Grazie!
PS: fammi sapere se hai bisogno di più codice. Per ottenerlo visualizzata in XML, è sufficiente aggiungere ad un <PreferenceScreen>
:
<com.example.project.RadiusPickerPreference
android:id="@+id/radPickerPref"
android:key="@string/pref_key_default_radius"
android:title="@string/pref_title_default_radius"/>
Oops, ho perso il fatto che setView (View) ha funzionato con le API precedenti. Grazie, funziona perfettamente. –
Grazie mille! Ho cercato di far funzionare setView() da quando ho cambiato il mio sdk minimo a 15 ... ... – Zillinium