2012-02-19 88 views
2

我測試了5個各種手機我的應用,並且只有三星的Galaxy Nexus會出現此異常:ParseException的的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

如果模擬器運行良好,問題不在於4.0或4.0.3版本,但使用nexus impl。你有沒有檢查模擬器,看看它的工作? – codeScriber 2012-02-19 21:41:51

回答

1

我敢打賭,默認情況下,Nexus具有不同的區域設置。嘗試使用構造函數的

SimpleDateFormat(String pattern, Locale locale) 

變種明確設置你在你的日期字符串所期望的語言環境。

+0

謝謝,我將盡快檢查設備。 – 2012-02-21 08:58:28

+0

非常感謝,它適用於另一個電話有相同的問題:) – 2012-02-22 19:40:53