【问题标题】:ParseException only on Galaxy NexusParseException 仅适用于 Galaxy Nexus
【发布时间】:2012-02-19 21:22:59
【问题描述】:

我在 5 部不同的手机上测试了我的应用,但仅在三星 Galaxy Nexus 上出现此异常:

java.text.ParseException: Unparseable date: "Sun, 19 Feb 2012 14:02:43 +0100" (at offset 0)

我的输入字符串:

<pubDate>Sun, 19 Feb 2012 14:02:43 +0100</pubDate>

我的代码:

private String getString(Element item, String tag) {

    Element e = (Element) item.getElementsByTagName(tag).item(0);
    return e.getFirstChild().getNodeValue();
}

SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss ZZZZ");
String tmpDate = getString(item, "pubDate");
Date pubDate = new Date(System.currentTimeMillis());
pubDate = sdf.parse(tmpDate);

这是 Android 4.0 的问题还是我搞错了?

此外,我的国家标志也有问题。我有 UTF-8 格式的 xml,我想在 WebView 中显示它。我有 UTF-8 编码的 html 文件,它在除 Galaxy Nexus 之外的所有设备上都能完美运行 - 它显示一些奇怪的字符而不是我的国家标志。

你有什么想法吗?

【问题讨论】:

  • 如果模拟器运行良好,问题不在于 4.0 或 4.0.3 版本,而在于 nexus impl。你检查模拟器看它工作了吗?

标签: android date xml-parsing


【解决方案1】:

我敢打赌,Nexus 默认设置了不同的语言环境。尝试使用

SimpleDateFormat(String pattern, Locale locale) 

构造函数的变体,用于在日期字符串中显式设置您期望的语言环境。

【讨论】:

  • 谢谢,我一有设备权限就去检查一下。
  • 非常感谢,它适用于其他有同样问题的手机:)
猜你喜欢
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多