2014-04-13 34 views
0

即時通訊編程相當新穎。我正在嘗試使用谷歌最新的datetimepicker函數。我從https://android.googlesource.com/platform/frameworks/opt/datetimepicker/+/e91a5dcdcc786074be1f6a9f2a4d79b99e34e18e下載了源代碼,並將其導入到我自己的項目中。到目前爲止,我沒有任何錯誤,但我不知道如何使用此功能,並將其測試到我的項目。我想有一個對話框,提供給用戶選擇小時和分鐘的功能,點擊按鈕會將這些數據保存到我的應用程序中。Android - DateTimePicker

例如:https://scontent-b-lhr.xx.fbcdn.net/hphotos-ash3/t1.0-9/10157365_10203642451081150_8056765662416057326_n.jpg

回答

0

日曆應用程序具有代碼來調用EditEventFragment的DatePickerDialog(我認爲)

它看起來大約是這樣的:

private class DateListener implements DatePickerDialog.OnDateSetListener { 
    View mView; 

    public DateListener(View view) { 
     mView = view; 
    } 

    @Override 
    public void onDateSet(DatePickerDialog view, int year, int month, int monthDay) { 
     // Cache the member variables locally to avoid inner class overhead. 
     Time startTime = mStartTime; 
     Time endTime = mEndTime; 

     // Cache the start and end millis so that we limit the number 
     // of calls to normalize() and toMillis(), which are fairly 
     // expensive. 
     long startMillis; 
     long endMillis; 
     if (mView == mFromDateButton) { 

      startTime.year = year; 
      startTime.month = month; 
      startTime.monthDay = monthDay; 
      startMillis = startTime.normalize(true); 
      setDate(mFromDateButton, startMillis); 

     } else { 
      endTime.year = year; 
      endTime.month = month; 
      endTime.monthDay = monthDay; 
      // Do not allow an event to have an end time before the start 
      // time. 
      if (endTime.before(mStartTime)) { 
       endTime.set(mStartTime); 
      } 
      endMillis = endTime.normalize(true); 
      setDate(mToDateButton, endMillis); 
     } 

    } 
} 

private DatePickerDialog mDatePickerDialog; 
private class DateClickListener implements View.OnClickListener { 
    private Time mTime; 

    public DateClickListener(Time time) { 
     mTime = time; 
    } 

    @Override 
    public void onClick(View v) { 

     final DateListener listener = new DateListener(v); 
     if (mDatePickerDialog != null) { 
      mDatePickerDialog.dismiss(); 
     } 
     mDatePickerDialog = DatePickerDialog.newInstance(listener, 
       mTime.year, mTime.month, mTime.monthDay); 
     mDatePickerDialog.setFirstDayOfWeek(PickerUtils.getFirstDayOfWeekAsCalendar(getActivity())); 
     mDateRangePickerDialog.setYearRange(mToday.year, mToday.year + 2); 
     mDateRangePickerDialog.show(getActivity().getFragmentManager(), "datePicker"); 
    } 
}