F
Feuerstern
Fortgeschrittenes Mitglied
- 28
Hallo Leute,
Ich habe einen custom DialogPreference erstellt.
Diesen will ich für mehrere preferences nutzen.
In der xml Datei gebe ich die default value an, kann mir einer sagen wie ich jetzt in der Klasse an die default value rankomme?
Diese brauch ich ja für die getPersistedInt() Methode.
Wo die default value hinkommt hab ich erstmal 0 hingeschrieben.
Mein code bisher:
mfg Feuerstern
Ich habe einen custom DialogPreference erstellt.
Diesen will ich für mehrere preferences nutzen.
In der xml Datei gebe ich die default value an, kann mir einer sagen wie ich jetzt in der Klasse an die default value rankomme?
Diese brauch ich ja für die getPersistedInt() Methode.
Wo die default value hinkommt hab ich erstmal 0 hingeschrieben.
Mein code bisher:
Code:
public class NumberPickerPreference extends DialogPreference {
private NumberPicker numberPicker;
private int mCurrentValue;
public NumberPickerPreference(Context context, AttributeSet attrs) {
super(context, attrs);
setDialogLayoutResource(R.layout.fragment_number_picker_dialog);
setPositiveButtonText(R.string.ok);
setNegativeButtonText(R.string.Cancel);
setDialogIcon(null);
}
@Override
protected Object onGetDefaultValue(TypedArray a, int index) {
return a.getInteger(index, 0);
}
@Override
protected void onSetInitialValue(boolean restorePersistedValue,
Object defaultValue) {
if (restorePersistedValue)
mCurrentValue = this.getPersistedInt(0);
else{
mCurrentValue = (Integer) defaultValue;
persistInt(mCurrentValue);
}
}
@Override
protected void onBindDialogView(View view) {
super.onBindDialogView(view);
numberPicker = (NumberPicker) view.findViewById(R.id.numberPicker);
numberPicker.setMinValue(0);
numberPicker.setMaxValue(368);
numberPicker.setValue(getPersistedInt(0));
}
@Override
protected void onDialogClosed(boolean positiveResult) {
super.onDialogClosed(positiveResult);
if (positiveResult){
int days = numberPicker.getValue();
persistInt(days);
}
}
}