我使用此方法获取MONTH和DAY_OF_WEEK名称。在几乎所有的设备上它都能正常工作,但是在我的LG P500上安装Android版本2.3.7而不是显示名称我得到了一个数字。我的结论是,返回的数字实际上是DAY或MONTH的索引...例如星期三返回4,星期四等等......同样的事情发生在几个月的显示名称上。
对于SHORT和LONG样式也是如此。 谁知道为什么会这样?
编辑:
private Locale locale
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.user = PreferenceHelper.getUser(getActivity());
this.club = PreferenceHelper.getSelectedClub(getActivity());
this.locale = new Locale(PreferenceHelper.getLocale(getActivity()));
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
String monthName = c.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, locale);
}
我将我的语言环境保存在首选项中。它应该始终返回一个区域设置。我也尝试过我的语言环境:
Locale locale = new Locale("abc");
但如果区域设置无效(在显示文本但不是数字的设备上),它看起来像英文返回