2016-06-09 25 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

你会怎样改革它? –

相关问题