0

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

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

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

于是他把代码改成了:

idical = idical.substring(11, l);

现在我得到了错误,就像我“剪切”了太多字符一样。这没有意义,因为代码相同,而且我们使用相同的 IDE 和设备

4

2 回答 2

1

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

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

于 2013-03-13T22:50:47.610 回答
1

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

虽然您的构建显然存在一些差异,但如果您根本不将日历内容转换为 html,似乎对您来说会更容易,即:

idical = icalarr.get(info.position).toString();
于 2013-03-14T22:54:55.330 回答