2012-09-05 44 views
2

我正在使用CalendarView。我加setOnDateChangeListener按日曆視圖上的當前日期

calendar.setOnDateChangeListener(new OnDateChangeListener() { 
     @Override 
     public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { 
      System.err.println(dayOfMonth + ":" + month + ":" + year); 

及其作品對我來說,當我按任意一天,在視圖去其他活動,但如果我想按當天回去的監聽器不起作用。

enter image description here

回答

0

它不會觸發您的聽衆,因爲它的工作原理,只有當你改變日期。你必須在UI上綁定點擊事件,所以有必要延長日曆視圖。

+0

我明白了,我認爲這是流行的問題,它有一個標準的解決方案。日Thnx。 – Gorets

+0

在android-sdk資源中有一個包含'ListView android:id =「@ android:id/list」' - resize/layout/calendar_view.xml「的目錄調用findViewById(android.R.id.list) '在上面並綁定'onClick'事件。它允許你抓取當前選定的項目。 – hsz

+0

我寫下如下 (ListView)calendar.findViewById(android.R.id.list); ,但它沒有幫助。 =(A Listeners does not work。 – Gorets

0

我知道它並不完全回答你的問題,但我有同樣的問題,加上日曆總是選擇當前的日期。爲了避免第二個問題(在我的情況下幫助解決第一個問題),我所做的是在離開CalendarView之前將最後選擇的日期存儲在共享首選項中,在啓動CalendarView時檢索它,然後使用setDate 。

long dateInMilliseconds = theDate.getTimeInMillis(); // theDate is a GregorianCalendar 
calendar.setDate(dateInMilliseconds); // calendar is a CalendarView