1

私のアクティビティには 3 つの日付ピッカーがあります。最初の日付ピッカーをクリックして変更を加えると、他の日付ピッカーに反映されます。しかし、すべての日付ピッカーをクリックすると、現在の日付が表示されるはずです。

最初の日付ピッカーで日付 23-07-1993 を選択して edittext に設定すると、2 番目の日付ピッカーをクリックすると、日付 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
}
4

1 に答える 1

1

それらすべての間で同じカレンダーオブジェクトを使用しているため、それらはすべて反映されています。日付ピッカーごとに3つの個別のカレンダーオブジェクトを作成します。

于 2013-03-11T10:25:35.200 に答える