2017-03-11 223 views
0

我想实现一个材料设计DatePicker,用户可以在其中选择一个日期范围。所以我在github上发现了这个美好的库,它的确如我所愿: https://github.com/vikramkakkar/SublimePickerandroid自定义DatePicker - “确定”按钮

但是绝对没有关于如何使用它的文档。经过数小时的研究,我想出了如何让日历显示。以下是我的代码。问题是,我不知道如何setPositiveButtonsetNegativeButton。没有这个,我无法保存日期/日期范围。

SublimePickerFragment.Callback mFragmentCallback = null; 
SublimePickerFragment pickerFrag = new SublimePickerFragment(); 
pickerFrag.setCallback(mFragmentCallback); 

SublimeOptions sublimeOptions = new SublimeOptions(); 
sublimeOptions.setDisplayOptions(SublimeOptions.ACTIVATE_DATE_PICKER); 
sublimeOptions.setPickerToShow(SublimeOptions.Picker.DATE_PICKER); 
sublimeOptions.setDateParams(Calendar.getInstance()); 
sublimeOptions.setCanPickDateRange(true); 
sublimeOptions.setAnimateLayoutChanges(true); 
Bundle bundle = new Bundle(); 
bundle.putParcelable("SUBLIME_OPTIONS", sublimeOptions); 

pickerFrag.setArguments(bundle); 
pickerFrag.setStyle(DialogFragment.STYLE_NO_TITLE, 0); 
pickerFrag.show(this.getFragmentManager(), "SUBLIME_PICKER"); 

有什么建议吗?谢谢!

+0

你的问题是关于这个图书馆?或Android日期选择器,你想添加好取消按钮? –

+0

这是关于图书馆 –

回答

1

我终于找到了解决方案。我必须设置一个回调函数,当OK或CANCEL被点击时会被调用。以下是代码。希望这可以帮助别人!

SublimePickerFragment.Callback mFragmentCallback = new SublimePickerFragment.Callback() { 
    @Override 
    public void onCancelled() { 
     // when CANCEL is clicked 
    } 
    @Override 
    public void onDateTimeRecurrenceSet(SelectedDate selectedDate, int hourOfDay, int minute, SublimeRecurrencePicker.RecurrenceOption recurrenceOption, String recurrenceRule) { 
     // when OK is clicked 
     System.out.println(selectedDate.toString()); 
    } 
};