2014-04-14 38 views
0

我有这个日期选择器。这个Android日期选择器有什么问题?

例如,如果我选择2011年12月11日显示==> 2011:11:11

或2012年6月11日显示==> 2012:0:11 !!!

private void Date_picker_dialog() 
{ 

    OnDateSetListener datelistener = new OnDateSetListener() { 

     @Override 
     public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 

      Toast.makeText(ActivityMain.this, "Date set: " + year + ":" + monthOfYear + ":" + dayOfMonth, 3000).show(); 

     } 
    }; 
    DatePickerDialog dialog = new DatePickerDialog(ActivityMain.this, datelistener, 2011, 11, 11); 
    dialog.show(); 

} 
+0

你必须使用(monthOfYear + 1)becz默认情况下它与0 .... –

+0

月从0开始列举所以当你从datepicker得到你的日期,月份设置为12月时,你会得到monthOfYear = 11 –

回答

0
// try this way hope this will help you.... 
    OnDateSetListener datelistener = new OnDateSetListener() { 

    @Override 
    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
     Toast.makeText(ActivityMain.this, "Date set: " + year + ":" + (monthOfYear+1) + ":" + dayOfMonth, 3000).show(); 
    } 
    }; 
    DatePickerDialog dialog = new DatePickerDialog(ActivityMain.this, datelistener, 2011, 11, 11); 
    dialog.show(); 
0
private void callDatePic() { 
    new DatePickerDialog(AddFriendActivity.this, d, c.get(Calendar.YEAR), 
      c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH)).show(); 

} 

DatePickerDialog.OnDateSetListener d = new OnDateSetListener() { 

    @Override 
    public void onDateSet(DatePicker view, int year, int monthOfYear, 
      int dayOfMonth) { 
     date = dayOfMonth + "-" + (monthOfYear + 1) + "-" + year;   
     c1.set(Calendar.MONTH, monthOfYear); 
     c1.set(Calendar.YEAR, year); 
     c1.set(Calendar.DAY_OF_MONTH, dayOfMonth); 
     Toast.makeText(ActivityMain.this, "Date set: " + date,3000).show(); 

    } 
    } 

}; 

试试这个 希望这将有助于你