在我的项目中,我有一个用于选择月份的微调器,我想显示当前月份作为默认选择。我在string.xml
中有字符串数组。
<string-array name="Months">
<item>January</item>
<item>February</item>
<item>March</item>
<item>April</item>
<item>May</item>
<item>June</item>
<item>July</item>
<item>August</item>
<item>September</item>
<item>October</item>
<item>November</item>
<item>December</item>
</string-array>
在MainActivity中,我将适配器设置为微调器,
ArrayAdapter<CharSequence> monthAdapter = ArrayAdapter
.createFromResource(this, R.array.Months, R.layout.spinner_item);
monthAdapter.setDropDownViewResource(R.layout.spinner_item);
spnMonth.setAdapter(monthAdapter);
spnMonth.setSelection(Util.setCurrentMonthSpinner(context));
在Util.java
我使用这两个函数,这些函数是静态的,因为函数在很多活动中都有用。
public static int setCurrentMonthSpinner (Context context) {
String[] months = context.getResources().getStringArray(R.array.Months);
for (int i = 0; i < months.length; i++) {
String mnth = Util.getCurrentMonth();
if (months[i].equals(mnth))
return i;
}
return 0;
}
和第二种方法是......
public static String getCurrentMonth () {
Calendar cal = Calendar.getInstance();
SimpleDateFormat month_date = new SimpleDateFormat("MMMMMM");
return month_date.format(cal.getTime());
}
方法getCurrentMonth返回当前月份名称,如Jan或Feb,但我想获得返回String,如1月或2月。引导我......
答案 0 :(得分:1)
尝试向您的SimpleDateFormat添加区域设置,如下所示:
SimpleDateFormat month_date = new SimpleDateFormat("MMMM", Locale.US);
答案 1 :(得分:1)
Calendar c = Calendar.getInstance();
int month =
c.get(Calendar.MONTH);
switch(month){
case 0:
return R.string.january;
break;
}
请注意,此方法从索引0开始,以索引11结束,其中0表示1月,11表示12月。 https://developer.android.com/reference/java/util/Calendar.html