2013-07-22 4 views
0

Ну я делаю приложение, которое имеет один вид деятельности и еще один класс с именем MyPicker, который расширяет DialogFragment и реализует DatePickerDialog.OnDateSetListenerЯ хочу взять дату от DatePicker

Дело в том, когда появляется пользователь нажимает на кнопку А dataPicker и я хочу принять эту дату с datePicker в texfield, что это активность.

Как вы рекомендуете мне это делать?

+0

попробуйте мой ответ .. –

ответ

0

Если вы изменяете дату в подборщиков по дате, вы можете сделать это следующим образом:

datePicker.setOnDateChangeListner(new OnDateChangedListener() { 
public void onDateChanged(DatePicker view, int year1, 
int monthOfYear1, int dayOfMonth1) { 
year = year1; 
monthOfYear = monthOfYear1; 
dayOfMonth = dayOfMonth1; 
} 
} 
); 
0

Привет этот вопрос уже задавали много раз на StackOverflow .. Вы можете сделать некоторые вещи, как что-

public class MainActivity extends Activity { 
    TextView textDate; 
    private int year; 
    private int month; 
    private int day; 
    static final int DATE_DIALOG_ID = 1; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     textDate = (TextView) findViewById(R.id.text_date); 

     final Calendar c = Calendar.getInstance(); 
     year = c.get(Calendar.YEAR); 
     month = c.get(Calendar.MONTH); 
     day = c.get(Calendar.DAY_OF_MONTH); 
     textDate.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       showDialog(DATE_DIALOG_ID); 
      } 
     }); 
    } 

    @Override 
    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case DATE_DIALOG_ID: 
      return new DatePickerDialog(this, mDateSetListener, year, month, 
        day); 
     } 
     return null; 
    } 

    // updates the date we display in the TextView 
    private void updateDisplay() { 
     /* 
     * Hide virtual keyboard 
     */ 
     textDate.setText(new StringBuilder() 
       // Month is 0 based so add 1 
       .append(year).append("-").append(month + 1).append("-") 
       .append(day).append("")); 
    } 

    private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() { 

     public void onDateSet(DatePicker view, int myear, int monthOfYear, 
       int dayOfMonth) { 
      year = myear; 
      month = monthOfYear; 
      day = dayOfMonth; 
      updateDisplay(); 
     } 
    }; 
} 

Демонстрационная ссылка here-

+0

Да, есть другой способ! У меня есть datePicker в другом классе, который является DialogFragment, и я хочу взять дату для actitvy –

+0

Тогда попробуйте вызвать это с помощью объекта или с помощью статического класса. или почему бы не изменить свой класс как моя .. –

+0

Потому что это домашнее задание, которое мой учитель дает! Я должен заполнить его этой формой! Объясните «затем попробуйте позвонить с помощью объекта или статического класса», пожалуйста, –

0
public class MainActivity extends Activity implements OnClickListener { 

    private Button mDateButton; 

    private Calendar mCalen; 
    private int day; 
    private int month; 
    private int year; 

    private static final int DATE_PICKER_ID = 0; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     mDateButton = (Button) findViewById(R.id.date_button); 
     mCalen = Calendar.getInstance(); 
     day = mCalen.get(Calendar.DAY_OF_MONTH); 
     month = mCalen.get(Calendar.MONTH); 
     year = mCalen.get(Calendar.YEAR); 
     mDateButton.setOnClickListener(this); 
    } 

    @Override 
    @Deprecated 
    protected Dialog onCreateDialog(int id) { 

     switch (id) { 
      case DATE_PICKER_ID: 
       return new DatePickerDialog(this, datePickerListener, 
         year, month, day); 
     } 
     return null; 
    } 

    private DatePickerDialog.OnDateSetListener datePickerListener = 
      new DatePickerDialog.OnDateSetListener() { 

       // while dialog box is closed, below method is called. 
       public void onDateSet(DatePicker view, int selectedYear, 
         int selectedMonth, int selectedDay) { 
        year = selectedYear; 
        month = selectedMonth; 
        day = selectedDay; 

        // Set the Date String in Button 
        mDateButton.setText(day + "/" + (month + 1) + "/" + year); 
       } 
      }; 

    @Override 
    public void onClick(View v) { 

     showDialog(DATE_PICKER_ID); 

    } 
} 
+0

для полного кода и дизайна, проверьте http: // rajeshvijayakumar.blogspot.in/2013/01/ics-date-picker-example-in-android.html, если полезно, тогда проголосуйте – Dev

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