我在新闻应用程序上工作我的json响应是html格式,因为它有多种颜色。我需要在单个文本视图中显示此文本。我的回答是这样的,
10-08 10:31:36.041: I/System.out(7242): <p><span style="font-size: xx-large;"><span style="font-family: EENADU;"><span style="color: #000099;">'Æ¢Ÿ¿«Ö.. F æXêª-NÕšË Æ¢Ÿ¿«Ö??Ñ Æ¯ä KA©ð ÊÈ-PÈX¾ª½u¢ÅŒ¢ ²ù¢Ÿ¿-ª½u¢Åî „çÕJ-®Ï-¤ò-„Ã-©¯ä ‚“ÅŒÕ-ÅŒ-Åî ÍéÇ-«Õ¢C æX¶†Ï-§ŒÕ©üq, XÔ©üq Æ¢{Ö ¦ÖušÌ-¤Ä-ª½x-ª½xÊÕ ‚“¬Á-ªá-²Ähª½Õ. ƪáÅä ƢŌšË Æ¢Ÿ¿¢ ²ñ¢ÅŒ¢ Í䮾ÕÂî„é¢˜ä ¤Äª½x-ªý©ð æX¶†Ï-§ŒÕ©ü «Ö“ÅŒ„äÕ Íäªá¢-ÍŒÕ-¹ע˜ä ®¾J-¤òŸ¿Õ. ŸÄEÂË «á¢Ÿ¿Õ, ÅŒªÃyÅŒ Â¹ØœÄ ÂíEo èÇ“’¹-ÅŒh©Õ B®¾Õ-¹ע-˜ä¯ä ‚ æX¶†Ï-§ŒÕ©ü X¾ÜJh ®¾ÅŒp´-L-ÅéÊÕ ƒ®¾Õh¢C. Ƅ䢚ð Åç©Õ-®¾Õ-Âî-„Ã-©¢˜ä ƒC ÍŒC-„ä-§ŒÖ-Lq¢Ÿä..</span></span></span><br /><span style="font-size: x-large;"><span style="font-family: EENADU;"><span style="color: #000000;">Æ¢Ÿ¿¢’à ¹E-XÏ¢-ÍÃ-©E ‚¬Á-X¾-œ¿E ÆA-«©Õ …¢œ¿-ª½¢˜ä ÆA-¬Á-§çÖÂËh Âßä„çÖ! Æ¢Ÿ¿Õê ²ù¢Ÿ¿ª½u ®¾¢ª½-¹~-º©ð ÅŒ© ÊÕ¢* ¤ÄŸÄ© «ª½Â¹× ®¾«Õ®¾h¢ «áÈu¢-’Ã¯ä ¦µÇN-²Ähª½Õ. ¨ “¹«Õ¢©ð ÅŒ«Õ «áÈ¢ «ÕJ¢ÅŒ “X¾ÂÃ-¬Á-«¢-ÅŒ¢’à ¹E-XÏ¢-ÍÃ-©E ª½Â¹-ª½-Âé æX¶†Ï-§ŒÕ©üq å®jÅŒ¢ Íäªá¢-ÍŒÕ-¹ע{Ö …¢šÇª½Õ. ƪáÅä „ÃšË X¾ÜJh X¶¾L-ÅÃLo ¤ñ¢ŸÄ-©¢˜ä æX¶†Ï-§ŒÕ©ü Íäªá¢-&
我的代码就像这样
fastionDesc=(TextView) v.findViewById(R.id.desc_desc);
String fidscription=newsobj.getString("articledec");
String parts[]=fidscription.toString().split("color");
for(int i=0;i<parts.length;i++) {
if(i==1) {
fidscription = fidscription.replaceAll(parts[i], "<font color='#000099'>" + parts[i] + "</font>");
}
if(i!=1&&i/2==0) {
fidscription = fidscription.replaceAll(parts[i], "<font color='#000000'>" + parts[i] + "</font>");
}
if(i!=1&&i/2==1) {
fidscription = fidscription.replaceAll(parts[i], "<font color='#ff0066'>" + parts[i] + "</font>");
}
}
fastionDesc.setText((Html.fromHtml(fidscription)));
fastionDesc.setTypeface(tf);
当我这样做时,我收到了错误
10-08 12:10:23.432: E/AndroidRuntime(28414): java.util.regex.PatternSyntaxException: Error in {min,max} interval near index 1021:
10-08 12:10:23.432: E/AndroidRuntime(28414): : #333399;"><span style="font-family: EENADU;">†ÔÂÃ-ÂçŒÕ …X¾-§çÖT¢ÍŒœ¿¢ ¹ת½Õ© ‚ªî-’Ãu-EÂË «Õ¢*-Ÿ¿Êo N†¾§ŒÕ¢ ÅçL-®Ï¢Ÿä. ƪáÅä ê«©¢ ¹ת½Õ© N†¾-§ŒÕ¢-©ð¯ä Âß¿Õ.. ÍŒªÃt-EÂË Â¹ØœÄ †ÔÂÃ-ÂçŒÕ „äÕ©Õ Í䮾Õh¢C. DE©ð ÍŒªÃtEÂË „äÕ©Õ Íäæ® N{-NÕ¯þ '‡Ñ, '®ÏÑ, 'œËÑ, ƒÅŒª½ §ŒÖ¢šÌ-‚-ÂËq-œç¢{Õx ®¾«Õ%-Cl´’à …¢šÇªá. Æ©Çê’ Â¹×ª½Õ©Õ Ÿ¿%œµ¿¢’à Ō§ŒÖ-ª½-«-œÄ-EÂË …X¾-§çÖ-’¹-X¾œä N{-NÕ¯þ 'éÂÑ Â¹ØœÄ ©Gµ-®¾Õh¢C. ƒ{Õ Â¹×ª½Õ-©Â¹×, Æ{Õ ÍŒªÃt-EÂË ‡¯îo ª½ÂÃ-©Õ’à „äÕ©Õ Íäæ® †ÔÂÃ-ÂÃ-§ŒÕÊÕ ‡Eo NŸµÄ-©Õ’à „Ãœ¿Íîa Åç©Õ-®¾Õ-¹עŸÄ¢ ª½¢œË..</span></span><br /><span style="font-size: xx-large;"><span style="font-family: EENADU;"><span style="
请帮助。
答案 0 :(得分:1)
似乎html有一些错误,或者Html.fromHtml()不支持它。
尝试在webview上加载
WebView webview = new Webview(this);
webview.loadHtml(fidscription);
希望这有帮助。
答案 1 :(得分:0)
您的错误是因为replaceAll
正在使用parts[i]
作为正则表达式,而其中的某些内容存在无效的正则表达式。请改用replace
。这应该会让你超过你发布的错误。