Android相同的代码提供两个不同的输出(dateFormat)

时间:2013-03-13 22:40:04

标签: android date-format

好的,我遇到了一个无法解决的问题。我正和朋友一起开发应用程序。

问题是,使用此代码,应用程序会为我运行,但是当我的朋友运行它时,他会收到错误(IllegalArgumentException),就像他仍然有一些标记字符一样。

idical = Html.toHtml(icalarr.get(info.position));
int l = idical.length() - 5;
idical = idical.substring(3, l);

所以他把代码更改为:

idical = idical.substring(11, l);

现在我收到的错误就像我“剪掉”太多字符一样。它没有意义,因为代码是相同的,我们使用相同的IDE和设备

2 个答案:

答案 0 :(得分:1)

您是否调查过您的字符集编码是否与朋友不同?在Eclipse中,可以通过右键单击项目并选择“属性”来找到它。在打开的页面(“资源”页面)上,有编码和文件行分隔符的选项。如果您没有相同的文件,那么即使您看到的文字看起来相同,每个系统也会以不同的方式解释文件。

另一种选择是将原始文本加载到Notepad ++等程序中并检查字符集。您还可以在那里查找可能导致问题的“隐形”字符。

答案 1 :(得分:1)

看起来你从日历中提取年份(返回int)然后转换为html,然后从html中提取结果的数字部分。

虽然您的构建中显然存在一些差异,但如果您根本不将日历内容转换为html,那么它似乎会更容易,例如:

idical = icalarr.get(info.position).toString();