2014-07-07 4 views
2

나는 사용자 정의 대화 상자에 datepicker 및 시간 선택 도구가 있습니다. datepicker에서 날짜를 변경하면 Textview에서 업데이트됩니다. 그러나 datepicker를 다시 선택하면 오늘 날짜가 표시됩니다. 이전에 선택된 날짜가 datepicker에 표시되기를 원합니다. 이것은 내 코드입니다. Pls 도움! - 그리고 DatePickerDialogdatepicker에서 선택한 이전 날짜를 원합니다. (안드로이드)

2로 설정) 텍스트로 저장된 날짜를 얻을

1) 변수에 THRE 이전에 선택한 날짜, 월, 년 저장 :

from.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      picker = new Dialog(getActivity()); 
      picker.setContentView(R.layout.datetime); 
      picker.setTitle("Select Date and Time"); 
      datep = (DatePicker) picker.findViewById(R.id.datePicker); 
      timep = (TimePicker) picker.findViewById(R.id.timePicker1); 

      set = (Button) picker.findViewById(R.id.btnSet); 
      set.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        // TODO Auto-generated method stub 
        month = datep.getMonth() + 1; 
        day = datep.getDayOfMonth(); 
        year = datep.getYear(); 
        hour = timep.getCurrentHour(); 
        minute = timep.getCurrentMinute(); 
        from.setText(year + "-" + month + "-" + day + " " 
          + hour + ":" + minute); 
        picker.dismiss(); 



       } 
      }); 
      picker.show(); 
     } 
    });  
+0

을 설정할 찾을 수 – user2851150

답변

2

대답은 그냥 u는 이전의 날짜 값을 설정해야합니다 보여주는 전에 ... 버튼을 표시하는 버튼의 범위에 외부

picker = new Dialog(getActivity()); 
    picker.setContentView(R.layout.datetime); 
    picker.setTitle("Select Date and Time"); 
    datep = (DatePicker) picker.findViewById(R.id.datePicker); 
    timep = (TimePicker) picker.findViewById(R.id.timePicker1); 


from.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      set = (Button) picker.findViewById(R.id.btnSet); 
      set.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        // TODO Auto-generated method stub 


        //datep.updateDate(year, month, day); 

        month = datep.getMonth() + 1; 
        day = datep.getDayOfMonth(); 
        year = datep.getYear(); 
        hour = timep.getCurrentHour(); 
        minute = timep.getCurrentMinute(); 
        from.setText(year + "-" + month + "-" + day + " " 
          + hour + ":" + minute); 
        picker.dismiss(); 



       } 
      }); 
      picker.show(); 
     } 
    }); 
0

당신은 두 가지 옵션이 있습니다 - 그리고 DatePickerDialog로 설정

+0

난 당신이하려는 원하든 이해 to say하지만 어떻게하면 이것을 할 수 있습니까? 나는 안드로이드에 새로운이야. – Madhav

0

당신의 DatePicker에서 대화 상자에서이 같은 뭔가 OnDateSetListener을 추가해야합니다 :

/** 
* Initialize DatePickerDialog 
*/ 
private void initDatePicker() { 
    myCalendar = Calendar.getInstance(); 

    date = new DatePickerDialog.OnDateSetListener() { 

     @Override 
     public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
      myCalendar.set(Calendar.YEAR, year); 
      myCalendar.set(Calendar.MONTH, monthOfYear); 
      myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth); 
      updateLabel(); 
     } 
    }; 

    dateDialog = new DatePickerDialog(getActivity(), date, 
      myCalendar.get(Calendar.YEAR), 
      myCalendar.get(Calendar.MONTH), 
      myCalendar.get(Calendar.DAY_OF_MONTH)); 

    dateDialog.getDatePicker().setMaxDate(new Date().getTime()); 
} 

일단이 방법을 초기화하면 설정 한 날짜 표시기에 자동으로 날짜가 표시됩니다. (:..

관련 문제