2016-05-05 66 views
0

我不知道下面的代碼有什麼問題,它返回的月份不到一個月。如何在Toast中顯示日期

例如:當我點擊26/6/2016它顯示爲26/5/2016

calendar = (CalendarView) findViewById(R.id.calendar); 
calendar.setOnDateChangeListener(new OnDateChangeListener() { 
    @Override public void onSelectedDayChange(
     CalendarView view, 
     int   year, 
     int   month, 
     int   dayOfMonth) { 
     Toast.makeText(getApplicationContext(), 
      ""+dayOfMonth+ "/" + month + "/" + year, 0).show(); 
    } 
}); 
+3

月是從零開始的。也就是說,在'month'中加'1'。 –

+1

作爲@MikeM。表示,其從0開始檢查這http://developer.android.com/reference/android/widget/CalendarView.OnDateChangeListener.html – Raghavendra

+0

如何更改爲1 –

回答

1

試試這個:

月份是一個從零開始的值,這意味着爲今年1月,0等。您必須在月份值中添加1。

Toast.makeText(getApplicationContext(), ""+dayOfMonth+ "/" + (month+1) + "/" + year, 0).show(); 
+0

那麼你爲什麼添加到dayofMonth? – Raghavendra

+0

好吧,你欠我2分:P – Raghavendra

-1

嘗試這個Toast.makeText(getApplicationContext(), ""+dayOfMonth+ "/" + (month+1) + "/" + year, Toast.LENGTH_SHORT).show();

+0

同樣的O/P我得到 –

0

的Calendar.MONTH返回一個月這是從零開始的,這就是爲什麼它給予1比實際月份少加1以得到正確的值。

String result = String.valueOf(c.get(Calendar.MONTH)+1); 

學分:@Manishika

0

感謝所有Replies.This編碼的作品,我只是初始化的變量遞增月

calendar=(CalendarView) findViewById(R.id.calendar); 
     calendar.setOnDateChangeListener(new OnDateChangeListener() { 

       @Override 
       public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { 
        int mon=month+1; 
        Toast.makeText(getApplicationContext(), ""+dayOfMonth+ "/" + mon + "/" + year, Toast.LENGTH_SHORT).show(); 
       } 
      });