2016-12-25 18 views
0

我试着做这样的事情如何实现这个自定义数字选择器?

This is what i wanna achieve
你如何实现第二个值和第三值选择器?
我需要更改为datepicker吗?

*编辑

用于第二值i尝试这种方法:

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]); 
} 

然后把这上的onCreate

date = getDatesFromCalender(); 

并设置numberpicker

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]; 
     } 
    }); 
} 

结果是我想要什么,但它添加另一个日期之前,今天检查图片:
Here is what i tried
如何禁用日期之前今天日期?

回答

0

行,用于示出在相同的对话2个选择器,我将发布一个代码段如下所示

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); 

所以,对于3个选择器,则可以添加线性布局内的一个以上数选择器视图并将此视图附加到对话框片段,并且您可以实现功能

+0

我认为我可以通过numberpicker实现良好的功能..我想实现的是如何获得第二个和第三个值选择器 –

+0

即使尽管感谢hasif是不是我想要的 –

相关问题