【发布时间】:2016-11-22 15:21:11
【问题描述】:
我有一个AppCompatSpinner,我将其条目保存在strings.xml 文件中,如下所示:
<string-array name="startDayList">
<item>Today</item>
<item>Tomorrow</item>
<item>Pick a day..</item>
</string-array>
使用以下代码将其指定为 AppCompatSpinner 的条目后:android:entries="@array/startDayList",AppCompatSpinner 上显示的标题或文本为 Today。
在这里,当用户选择Pick a day.. 条目时,他会看到DatePicker,并且可以选择日期/日期。方法如下(案例 2):
startDaySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
DateFormat currentDateFormat = new SimpleDateFormat("dd-MM-yyyy");
startDayString = currentDateFormat.format(new Date());
switch (i) {
case 0:
startDayString = currentDateFormat.format(new Date());
break;
case 1:
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR, 1);
Date tomorrow = calendar.getTime();
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
startDayString = dateFormat.format(tomorrow);
break;
case 2:
final Calendar c = Calendar.getInstance();
mYearStartE = c.get(Calendar.YEAR);
mMonthStartE = c.get(Calendar.MONTH);
mDayStartE = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(PostSportRequest.this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
startDayString = dayOfMonth + "-" + (monthOfYear + 1) + "-" + year;
Toast.makeText(getBaseContext(), "startDayString: " + startDayString, Toast.LENGTH_SHORT).show();
}
}, mYearStartE, mMonthStartE, mDayStartE);
datePickerDialog.show();
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
此代码将所选日期保存在startDayString 字符串中,但AppCompatSpinner 的文本仍需设置为Pick a day..
所以,我想知道如何将微调器的文本/标题设置为用户选择的日期/日期,而不是 Pick a day..
请告诉我。
【问题讨论】:
标签: java android android-studio datepicker android-spinner