一、問題描述
通常我們開發Android的時候免不了要和服務器有數據交互,當然簡單的數據中是不會帶有html格式的,因爲我們在後臺添加數據時都會利用<input/>或者<textarea/>進行添加。那麼我們如果利用插件(比如feckeditor進行在線編輯文字),那麼 存儲到數據庫中的文章就會如圖:
帶有html標記的文字信息。這種文字信息在Android中不能夠直接顯示,那麼怎麼讓其在Android中顯示又能夠保持其原有的段落、空格、加粗等格式信息呢?????
二、解決辦法
利用 Spanned HTML.fromhtml(String s);括號裏面填寫帶有html格式的String字符串。Spanned類型可以直接放到TextView中,如TextView text=(TextView)findById(R.id.text);
text.setText(HTML.fromhtml("<p>第一段</p>
<p>第二段</p>"));
顯示結果是兩行。
三、注意事項
通常我們利用json與服務器傳遞數據,那麼我們從服務器將String類型並且帶有html標記的字符串傳遞過來時一定要在開頭和結尾加雙引號,否則json數據解析時遇到分號就會停止。如<p>第一段 </p><p>第二段</p>從服務器封裝到json中時要變成"<p>第一段</p><p>第二段</p>",這樣Android端解析式纔會正常。
如何給字符串加雙引號 String ss=""\"abc"\"";
這樣字符串變成"abc"