2014-07-07 111 views
2

我有一個日期選擇器和時間選擇器在自定義對話框中。如果我更改日期選擇器上的日期,它將在Textview中更新。但是當我再次選擇日期選擇器時,它會給出今天的日期。我希望上次選擇的日期顯示在日期選擇器上。 這是我的代碼。請幫助!希望在日期選擇器上選擇以前的日期。 (android)

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

顯示u必須設置一個日期值之前 – user2851150

回答

2

找到了答案,只是外界把它通過它顯示的按鈕,按鈕的範圍......

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

你有2種選擇:

1)保存THRE先前所選的日,月,年的一個變量 - 並將它們設置成DatePickerDialog

2)從你的文字得到保存日期 - 並設置他們進入DatePickerDialog

+0

我明白你想要啥子說,但我怎麼做到這一點???我是新的android .. – Madhav

0

您將需要添加一個OnDateSetListener上的DatePicker對話框,這樣的事情:

/** 
* 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()); 
} 

初始化此方法後,它將自動在日期選擇器上顯示日期。 (:。

相關問題