2017-03-11 127 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()); 
    } 
};