使用循环的Android旋转器动态值



我想拥有一个旋转器,该旋转器具有1-12的动态价值,从1-12,第1-31天,从1917年到现年。

<LinearLayout
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    <Spinner
        android:id="@+id/spinner_Month"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <Spinner
        android:id="@+id/spinner_Day"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <Spinner
        android:id="@+id/spinner_Year"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

    List year = new ArrayList<Integer>();
    for (int i = 1917; i <= "IwantThisTobeInCurrentYear - 18"; i++) {
        year.add(Integer.toString(i));
    }
    ArrayAdapter<Integer> spinnerArrayAdapter = new ArrayAdapter<Integer>(
            this, android.R.layout.simple_spinner_item, year);
    spinnerArrayAdapter.setDropDownViewResource( 
    android.R.layout.simple_spinner_dropdown_item );
    Spinner spinner = (Spinner)findViewById(R.id.years_spinner);
    spinner.setAdapter(spinnerArrayAdapter);

和内部的for循环,我希望这是在当年 - 18岁以避免少于18。我想将默认值设置为年或yyyy

尝试使用datepickerdialog。

1。创建DatePickerDialog.OnDateSetListener

DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear,
                          int dayOfMonth) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR, year);
        calendar.set(Calendar.MONTH, monthOfYear);
        calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
        String dateFormat = "MM/dd/yy"; //Change date format if required
        SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, Locale.ENGLISH);
        String dateStr = sdf.format(calendar.getTime());
        EditText editText = null; //initialize edit text here
        editText.setText(dateStr);
        //use this date
    }
};

2。显示日期选择器按钮单击等等

button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Calendar calendar = Calendar.getInstance();
        DatePickerDialog datePickerDialog =new DatePickerDialog(context, datePickerListener,calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show();
    }
});

最新更新