2011-06-29 61 views
0

在我的應用程序我必須從日期和日期日期選擇器。我正在使用onCreateDialog()方法。所以第一次我從日期選擇器中選擇日期並將它們放入編輯文本中。然後當我再次從日期選擇器中選擇日期時,在日期選擇器中顯示我已經選擇的日期。但是,如果我在同一屏幕(活動)中移動到其他搜索並嘗試從日期選擇器中選擇日期,那麼日期選擇器仍然顯示以前的日期。而不是當前日期。面臨的問題與日期選擇器在Android的

protected Dialog onCreateDialog(int id) { 
    final Calendar c = Calendar.getInstance(); 
    switch (id) { 
    case DATE_DIALOG_ID1: 
     return new DatePickerDialog(this, mDateSetListener, c.get(Calendar.YEAR), 
       c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH)); 


    case DATE_DIALOG_ID2: 
     return new DatePickerDialog(this, mDateSetListener2, c.get(Calendar.YEAR), 
       c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH)); 
    } 
    return null; 
} 

回答

1

可能是你可以嘗試再次寫清楚你的問題,但我的你的問題的理解,你可能想看看你的onDateChanged()回調方法。我假設你在這個onDateChanged()裏有一個updateDialog()方法,你可能想要檢查這個方法是否存在錯誤。

我想你看這個鏈接,他們演示瞭如何使用日期選擇器http://developer.android.com/resources/tutorials/views/hello-datepicker.html

好運

對於第二個問題,你問到的,迄今對話

從查詢股價什麼你說,我覺得有東西像一個小錯誤,如

1)R.id.datepicker2到位使用R.id.datepicker1的

2)混合在onDateChangedListener()中。我相信有更好的方式來做到這一點,但嘗試檢查你是否有這樣的低於2個不同的聽衆

final Calendar c = Calendar.getInstance(); 
    mYear = c.get(Calendar.YEAR); 
    mMonth = c.get(Calendar.MONTH); 
    mDay = c.get(Calendar.DAY_OF_MONTH);  



DatePicker fromDatePicker = (DatePicker) findViewById(R.id.datePicker1); 
    datePicker.init(mYear, mMonth, mDay, new OnDateChangedListener() { 

     @Override 
     public void onDateChanged(DatePicker view, int year, 
       int monthOfYear, int dayOfMonth) { 
      //things you want to happen when datepicker1 is changed in your case the From date field  


     } 
    }); 

DatePicker toDatePicker = (DatePicker) findViewById(R.id.datePicker1); 
    datePicker.init(mYear, mMonth, mDay, new OnDateChangedListener() { 

     @Override 
     public void onDateChanged(DatePicker view, int year, 
       int monthOfYear, int dayOfMonth) { 
      //things you want to happen when datepicker2 is changed in your case the To date field  


     } 
    }); 
+0

我修復partially..But現在我面臨的一個問題了上述問題。我有兩個日期字段。一個是「From Date」,另一個是「To Date」。現在第一次,如果我點擊From和To date,兩者都只給予Todays Date。現在假設我選擇從26/01/2011和從日期15/02/2011。然後再次如果我單擊「從日期」字段,Datepicker將顯示15/02/2011。誰能幫我。 –

+0

@Arindam你可能想檢查對上述答案所做的修改,看看它是否修復了你的問題 –

+0

它是固定的。在準備Dialog開關的情況下,我忘記了在任何情況下都要休息。 –