2016-06-09 4 views
0

Я следил за выборами для Android 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;.

В onClickListener от DateEdit1, до звонка showTruitonDatePickerDialog(View v), комплект isDateEdit1 = true;.

В onClickListener от DateEdit2, до звонка 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

Как бы вы его реформировали? –

 Смежные вопросы

  • Нет связанных вопросов^_^