2016-12-25 3 views
0

Im Versuch, so etwas wie dieseWie erreiche ich diese benutzerdefinierte Zahlenauswahl?

This is what i wanna achieve
zu machen, wie Sie den zweiten Wert erreichen können und den dritten Wert Picker?
Muss ich zum Datepicker wechseln?

* EDIT

für den zweiten Wert habe ich versucht diese Methode:

private String[] getDatesFromCalender() { 
    Calendar c1 = Calendar.getInstance(TimeZone.getTimeZone("GMT+7")); 
    Calendar c2 = Calendar.getInstance(TimeZone.getTimeZone("GMT+7")); 

    List<String> dates = new ArrayList<String>(); 
    DateFormat dateFormat = new SimpleDateFormat("EE, dd MMM", new Locale("en", "Singapore")); 
    dates.add(dateFormat.format(c1.getTime())); 

    for (int i = 0; i < 60; i++) { 
     c1.add(Calendar.DATE, 1); 
     dates.add(dateFormat.format(c1.getTime())); 
    } 
    c2.add(Calendar.DATE, -60); 

    for (int i = 0; i < 60; i++) { 
     c2.add(Calendar.DATE, 1); 
     dates.add(dateFormat.format(c2.getTime())); 
    } 
    return dates.toArray(new String[dates.size() - 1]); 
} 

Dann habe ich diese auf onCreate

date = getDatesFromCalender(); 

und stellen Sie die Number

private void setUpDatePicker() { 
    npBookingDate.setDisplayedValues(date); 
    npBookingDate.setMaxValue(date.length - 1); 
    npBookingDate.setMinValue(0); 
    npBookingDate.setFormatter(new NumberPicker.Formatter() { 
     @Override 
     public String format(int value) { 
      return date[value]; 
     } 
    }); 
} 

Das Ergebnis ist was ich wollte, aber es ein anderes Datum vor heute hinzufügen, überprüfen Sie das Bild:
Here is what i tried
Wie Sie Daten vor heutigen Daten deaktivieren?

Antwort

0

OK, für die zwei Nummer-Picker in gleichem Dialog, werde ich einen Code-Schnipsel schreiben, wie unten

LinearLayout LL = new LinearLayout(mContext); 
LL.setOrientation(LinearLayout.HORIZONTAL); 
// 
final NumberPicker aNumberPicker = new NumberPicker(mContext); 
aNumberPicker.setMaxValue(50); 
aNumberPicker.setMinValue(1); 
// 
final NumberPicker aNumberPickerA = new NumberPicker(mContext); 
aNumberPickerA.setMaxValue(11); 
aNumberPickerA.setMinValue(1); 
aNumberPickerA.setDisplayedValues(new String[] { "Tea Cup", "Glass","Plate","Small Plate","Cutlets","Medium","Piece","Katori","Balls","Serving","egg"}); 
// 
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(50, 50); 
params.gravity = Gravity.CENTER; 
// 
LinearLayout.LayoutParams numPicerParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
numPicerParams.weight = 1; 
// 
LinearLayout.LayoutParams qPicerParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
qPicerParams.weight = 1; 
// 
LL.setLayoutParams(params); 
LL.addView(aNumberPicker,numPicerParams); 
LL.addView(aNumberPickerA,qPicerParams); 

gezeigt so, für drei Nummer-Picker, können Sie eine weitere Anzahl Picker Ansicht innerhalb des linearen Layouts hinzufügen und diese Ansicht an das Dialogfragment anhängen, und Sie können die Funktionalität erreichen

+0

ich denke, dass ich die Funktionalität gut mit numberpicker erreichen kann .. was ich erreichen möchte ist, wie erhalten Sie die zweite und dritte Wertauswahl –

+0

Dank hasif obwohl obwohl ist es nicht ich wollte –

Verwandte Themen