2017-01-15 17 views
1

私はdatepickerを使用していますが、日付を選択するたびに、-1モンテを表示しています。 例:12/12/2016を選択した場合、テキストボックスに表示されます。12/11/2016 3/1/2017を選択すると、3/0/2017が表示されます日付を選択した後、間違った月が表示されます

ここは私です日付ピッカーのダイアログのコード:

editStartDate.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Calendar mcurrentDate = Calendar.getInstance(); 
        int mYear = mcurrentDate.get(Calendar.YEAR); 
        int mMonth = mcurrentDate.get(Calendar.MONTH); 
        int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH); 

        DatePickerDialog mDatePicker = new DatePickerDialog(TourActivity.this, new DatePickerDialog.OnDateSetListener() { 
         public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) { 
          Calendar newDate = Calendar.getInstance(); 
          newDate.set(selectedyear, selectedmonth, selectedday); 
          editStartDate.setText(selectedday + "/" + selectedmonth + "/" + selectedyear); 
         } 
        }, mYear, mMonth, mDay); 
        mDatePicker.setTitle("Select date"); 
        mDatePicker.show(); 

       } 
      }); 

間違ったコードを入力してください。

答えて

2

この場合、月のカウントは0から開始されます。表示するには1を追加する必要があります。

editStartDate.setText(selectedday + "/" + (selectedmonth + 1) + "/" + selectedyear); 

も参照のために、この質問を参照してください:Why is January month 0 in Java Calendar?

関連する問題