Créer NumberPicker boîte de dialogue préférences

Je suis en train de créer un NumberPicker dialogue dans mes préférences de l'écran. J'ai déjà fait une suite à cette:https://stackoverflow.com/a/5533295/2442638

Cependant, pour ma deuxième boite de dialogue, je veux seulement un spinner, donc j'ai adapté le code comme suit:

import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.TypedArray;
import android.preference.DialogPreference;
import android.util.AttributeSet;
import android.view.View;
import android.widget.NumberPicker;
public class SnoozeTPP extends DialogPreference { 
private int Minute = 0;
private NumberPicker np= null;
public static int getMinute(String time) {
String[] pieces = time.split(":");
return (Integer.parseInt(pieces[1]));
}
public SnoozeTPP(Context context, AttributeSet attrs) {
super(context, attrs);
setPositiveButtonText("Set"); 
setNegativeButtonText("Cancel"); 
}
@Override
protected View onCreateDialogView() {
np = new NumberPicker(getContext());
return (np);
}
@Override
protected void onBindDialogView(View v) {
super.onBindDialogView(v);
np.setMaxValue(60);
np.setValue(Minute);
}
@Override
protected void onDialogClosed(boolean positiveResult) {                                                             
super.onDialogClosed(positiveResult);
if (positiveResult) {
Minute = np.getValue();
String time = 0 + ":" + String.valueOf(Minute);
if (callChangeListener(time)) {
persistString(time);
}
}
}
@Override
protected Object onGetDefaultValue(TypedArray a, int index) {
return (a.getString(index));
}
@Override
protected void onSetInitialValue(boolean restoreValue, Object defaultValue) {
String time = null;
if (restoreValue) {
if (defaultValue == null) {
time = getPersistedString("08:00");
} else {
time = getPersistedString(defaultValue.toString());
}
} else {
time = defaultValue.toString();
}
Minute = getMinute(time);
}
}

Il n'y a pas d'erreurs et de la boîte de dialogue s'affiche correctement, mais la mise en page de ce qui semble être "foiré" :-). La ligne bleue s'étendent à travers le dialogue en entier au lieu de simplement la largeur de la les chiffres. Créer NumberPicker boîte de dialogue préférences

La question est - comment définir la mise en page correctement? (Je suis sûr qu'il ya beaucoup d'autres erreurs!)

Merci

peut vous aider gist.github.com/tomstrummer/959884
Merci, j'ai essayé, mais je ne pouvais pas le faire fonctionner 🙁

OriginalL'auteur RiThBo | 2013-07-07