2015-09-15 136 views
2

我是Android編程新手。請幫忙。如何在datepickerdialog android中選擇年份?

我使用的片段創建材料設計DatePickerDialog點擊EditText。麻煩是它設置爲當前日期(由我設置)。但是,如果用戶必須選擇過去的日期......例如,10年前,用戶必須每個月都滾動,這很痛苦。例如如下所示:

有沒有辦法讓你選擇一年?這樣用戶可以導航到年份。

enter image description here

+0

。 –

+0

我覺得

<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> 
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(); 
} 

您佈局

哪個庫您已通過點擊年您將獲得一年的選擇頁面中使用
+0

讓我試試,馬特。塔 –