2015-09-15 3 views
2

Я новичок в программировании на Android. Пожалуйста помоги.как выбрать год в datepickerdialog android?

Я использую фрагмент, который создает конструкцию материала DatePickerDialog при нажатии EditText. Проблема в том, что она установлена ​​на текущую дату (установленную мной). Но, если пользователь должен выбрать дату в прошлом ... скажем, 10 лет назад пользователь должен прокручивать каждый месяц, что является болезненным. например ниже:

Есть ли способ сделать свой выбор год? Таким образом, пользователь может перейти к году.

enter image description here

+0

Какие библиотеки вы использовали –

+0

я думаю, что, нажав на год, вы получите страницу выбора года. – Shishram

+0

, когда вы нажимаете на 2015 год, он будет расходоваться, и вы можете выбрать год. – Dev

ответ

2

Я думаю, чем это потому, что вы не имеете минимальную дату или максиму дату. Если вы попытаетесь создать пользовательский диалог с DatePicker, он будет работать. У меня такой же пример с Edittext. Я вызываю этот метод, когда пользователь нажимает на Edittext.

private void showDateDialog() { 
    mLayoutInflater = getLayoutInflater(); 
    mCustomDatePicker = mLayoutInflater.inflate(R.layout.custom_date_picker, null); 

    mDatePicker = (DatePicker) mCustomDatePicker.findViewById(R.id.datePicker); 
    mDatePicker.setMaxDate(Calendar.getInstance().getTime().getTime()); 

    mCalendar = Calendar.getInstance(); 

    mDialog = new AlertDialog.Builder(this); 
    mDialog.setView(mCustomDatePicker); 
    mDialog.setPositiveButton(R.string.button_ok, new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      mCalendar.set(mDatePicker.getYear(), mDatePicker.getMonth(), mDatePicker.getDayOfMonth()); 
      mBirthdayEdit.setText(mFormatDate.format(mCalendar.getTime())); 

     } 
    }).setNegativeButton(R.string.button_cancel, new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      dialog.dismiss(); 
     } 
    }); 

    mDialog.create(); 
    mDialog.show(); 
} 

Вы макет

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center"> 

    <DatePicker 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/datePicker" 
     android:layout_gravity="center_horizontal" 
     android:spinnersShown="true" 
     android:calendarViewShown="false" 
     android:layout_alignParentTop="true"/> 
</RelativeLayout> 
+0

Позвольте мне попробовать, Мат. –