ParseException только на Galaxy Nexus - PullRequest
       1

ParseException только на Galaxy Nexus

2 голосов
/ 20 февраля 2012

Я протестировал свое приложение на 5 различных телефонах, и это исключение возникает только на Samsung 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>

Myкод:

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 или я допустил ошибку?

Кроме того, у меня проблема с национальными знаками.У меня есть XML в UTF-8, и я хочу отобразить его в WebView.У меня есть html-файл в кодировке UTF-8, и он отлично работает на всех устройствах, кроме Galaxy Nexus - он отображает некоторые странные символы вместо моих национальных знаков.

У вас есть идеи?

1 Ответ

1 голос
/ 20 февраля 2012

Могу поспорить, что Nexus имеет другую локаль, установленную по умолчанию. Попробуйте использовать

SimpleDateFormat(String pattern, Locale locale) 

вариант конструктора для явной установки локали, которую вы ожидаете в строке даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...