ParseException仅适用于Galaxy Nexus

时间:2012-02-19 21:22:59

标签: android date xml-parsing

我在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之外的所有设备上都很完美 - 它显示一些奇怪的字符而不是我的国家标志。

你有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

SimpleDateFormat(String pattern, Locale locale) 

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