gpt4 book ai didi

java - Android Java 日历 getDisplayName/s 返回 null

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:13 24 4
gpt4 key购买 nike

timeOfMark = Calendar.getInstance(Locale.ENGLISH);
Map<String, Integer> what = timeOfMark.getDisplayNames(Calendar.HOUR, Calendar.SHORT, Locale.ENGLISH);

for(Map.Entry<String, Integer> pair : what.entrySet())
{
Log.e(pair.getKey(), Integer.toString(pair.getValue()));
}

这种情况使我的 android 应用程序崩溃,因为 Log.e 不能接受空字符串。

同样的道理

timeOfMark.getDisplayName(Calendar.HOUR, Calendar.SHORT, Locale.ENGLISH);

我尝试了多种输入参数变体。对于语言环境,我也做了 Locale.getDefault() 和许多其他的。还是一样**

运气不好。有什么办法可以解决这个问题吗?或者一个简单的解决方法?

最佳答案

public Map getDisplayNames(int field,int style,Locale locale)

此方法返回一个 Map,其中包含样式和区域设置中的所有显示名称及其字段值,如果没有可用的字符串表示形式,则返回 null

timeOfMark.getDisplayName(Calendar.HOUR, Calendar.SHORT, Locale.ENGLISH);

没有 HOUR 的字符串表示,即您可以在 string 中表达 HOURS,就像我们为 MONTH 和 DAY_OF_WEEK 所做的那样

尝试周、月示例

 Map< String, Integer> representations = 
now.getDisplayNames(Calendar.MONTH, Calendar.ALL_STYLES, locale);

你会得到

 {Apr=3, April=3, Aug=7, August=7, Dec=11, December=11, Feb=1, February=1, Jan=0, January=0, Jul=6, July=6, Jun=5, June=5, Mar=2, March=2, May=4, Nov=10, November=10, Oct=9, October=9, Sep=8, September=8}

对于 Calendar.DAY_OF_WEEK

{Fri=6, Friday=6, Mon=2, Monday=2, Sat=7, Saturday=7, Sun=1, Sunday=1, Thu=5, Thursday=5, Tue=3, Tuesday=3, Wed=4, Wednesday=4}

在这里试试

http://www.browxy.com/SubmittedCode/18596

关于java - Android Java 日历 getDisplayName/s 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16398809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com