Android 使用 for 循环的 Spinner 动态值
Android Spinner Dynamic value using for Loop
我想要一个微调器,它具有 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 循环内,我希望 This To Be In Current Year - 18 以避免小于 18。
我想将默认值设置为 YEAR 或 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();
}
});
我想要一个微调器,它具有 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 循环内,我希望 This To Be In Current Year - 18 以避免小于 18。 我想将默认值设置为 YEAR 或 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();
}
});