2016-06-09 24 views
0

我按照日期選擇器Android教程。不幸的是,這樣做後,我意識到它只適用於我的一個文本字段,說實話,我不知道如何將它應用到另一個,DateEdit2。也就是說,單擊DateEdit1或DateEdit2我編輯DateEdit1。我明白這是來自設置日期的功能,但任何嘗試更改或傳遞按鈕作爲參數都會導致錯誤,因爲這些方法無法以此方式編輯。有任何想法嗎?兩個日期選取器片段 - 如何分別編輯日期?

這裏是代碼:

public void showTruitonDatePickerDialog(View v) { 
     DialogFragment newFragment = new DatePickerFragment(); 
     newFragment.show(getSupportFragmentManager(), "datePicker"); 
    } 

    public static class DatePickerFragment extends DialogFragment implements 
      DatePickerDialog.OnDateSetListener { 

     @Override 
     public Dialog onCreateDialog(Bundle savedInstanceState) { 
      // Use the current date as the default date in the picker 
      final Calendar c = Calendar.getInstance(); 
      int year = c.get(Calendar.YEAR); 
      int month = c.get(Calendar.MONTH); 
      int day = c.get(Calendar.DAY_OF_MONTH); 

      // Create a new instance of DatePickerDialog and return it 
      return new DatePickerDialog(getActivity(), this, year, month, day); 
     } 

     public void onDateSet(DatePicker view, int year, int month, int day) { 
      // Do something with the date chosen by the user 
      DateEdit1.setText(DateEdit1.getText() + " " + day + "/" + (month + 1) + "/" + year); 
     } 
    } 

謝謝你在前進, 約翰

+0

我不明白你想要做什麼。 –

+0

我必須到文本字段 - DateEdit1和DateEdit2。當我使用他們中的任何一個時,他們在DateEdit1上更改日期。如何讓他們分開工作? –

回答

1

請在活動全球public boolean isDateEdit1;

onClickListenerDateEdit1,在致電showTruitonDatePickerDialog(View v),設置isDateEdit1 = true;

DateEdit2onClickListener中,在致電showTruitonDatePickerDialog(View v)之前,設置isDateEdit1 = false;

然後,在onDateSet

public void onDateSet(DatePicker view, int year, int month, int day) { 
     if(getActivity.isDateEdit1){ 
      DateEdit1.setText(""+day + "/" + (month + 1) + "/" + year); 
      return; 
     } 
     DateEdit2.setText("" + day + "/" + (month + 1) + "/" + year); 
    } 
+0

由於沒有更多的信息存在,這可能是最簡單的解決方案。雖然我已經做了些微不同的事情。 –

+0

這有助於感謝你!我沒有想過:) –

+0

你會怎樣改革它? –

相關問題