一个日期选择器中的更改反映到活动中的其他日期选择器

时间:2013-03-11 09:30:57

标签: android

我的活动有3个日期选择器。当我点击第一个日期选择器并进行更改时,它会反映到其他日期选择器。但是每个日期选择器都应该在我点击它时显示当前日期。

当我在第一个日期选择器上选择日期23-07-1993并在edittext中设置它时,然后我点击第二个日期选择器它显示日期23-07-1993。那么我在第一个做出的更改选择器在这里反映。

我想要的是,每当我点击日期选择器时,它应该显示当前日期,它不应该反映其他选择器的变化。

我的.java类是,

  private void setDateOfBirth() {
  DatePickerDialog.OnDateSetListener dateOfBirth = new DatePickerDialog.OnDateSetListener() {
           @Override
           public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
             calendar.set(Calendar.YEAR, year);
             calendar.set(Calendar.MONTH, monthOfYear);
             calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
             updateDateOfBirth();
           }//onDateSet

           private void updateDateOfBirth() {
              String myFormat = "yyyy-MM-dd"; //In which you need put here
              SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
              date_of_birth = sdf.format(calendar.getTime());
              Log.d("date_of_birth",date_of_birth);
              edittext_dateOfBirth.setText(date_of_birth);
           }//updateRenewalDate
    };//DatePickerDialog
}

private void setJoinDate() {
DatePickerDialog.OnDateSetListener joinDate = new DatePickerDialog.OnDateSetListener() {
           @Override
           public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
             calendar.set(Calendar.YEAR, year);
             calendar.set(Calendar.MONTH, monthOfYear);
             calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
             updateJoinDate();
           }//onDateSet

           private void updateJoinDate() {
              String myFormat = "yyyy-MM-dd"; //In which you need put here
              SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
              join_date = sdf.format(calendar.getTime());
              Log.d("join_date",join_date);
              edittext_joinDate.setText(join_date);
           }//updateJoinDate
        };//DatePickerDialog
}

1 个答案:

答案 0 :(得分:1)

您在所有这些日历对象之间使用相同的日历对象,这就是为什么它们都被反映出来的原因。为每个日期选择器创建三个单独的日历对象。