2011-06-29 5 views
0

私のアプリケーションでは、私は日付と日付を日付として選択する必要があります。私はonCreateDialog()メソッドを使用しています。だから私は、日付ピッカーから日付を選択し、それらを編集テキストに入れています。再び私は日付ピッカーから日付を選択しているとき、日付ピッカーでは、すでに選択した日付が表示されます。しかし、同じ画面(アクティビティ)で他の検索に移動し、日付ピッカーから日付を選択しようとすると、日付ピッカーは前の日付を表示しています。現在の日付ではありません。アンドロイドの日付ピッカーの問題に直面しています

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()メソッドを持っていると仮定し、あなたはerrのメソッドをチェックしたいかもしれません。

彼らは日付ピッカーを使用する方法を示しました、私はあなたがこのリンクを見たと

http://developer.android.com/resources/tutorials/views/hello-datepicker.html

幸運

日付ダイアログあなたがからに重複が整理について尋ねられた第二の問題のためにとの

何からあなたはR.id.datepicker2がR.id.datepicker1

の代わりに使用されている)私は

1のような小さな誤差のようなものがあると思います、と言っています

または

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上記の問題を解決しているかどうかをチェックしてみてください。私は2つの日付フィールドを持っています。 1つは「From Date」で、もう1つは「To Date」です。今、初めて、FromとToの日付をクリックすると、両方ともTodays Dateだけが与えられます。ここで、From Dateを26/01/2011、To ToをDate 15/02/2011とします。次に、[From Date]フィールドをクリックすると、Datepickerが15/02/2011を表示しています。誰も私を助けることができます。 –

+0

@Arindam上記の回答に対する編集内容を確認し、問題が修正されているかどうか確認したい場合があります。 –

+0

修正済みです。 Prepare Dialogスイッチのケースでは、すべての場合に改行を忘れてしまった。 –

関連する問題