2012-07-31 60 views
1

我正在開發一個Android RSS閱讀器,但我面臨的問題試圖獲取數據時,來自RSS Feed的內容描述包含HTML內容如下所示:Android RSS閱讀描述數據讀取錯誤

<item> 
    <title>Katima&#45;Comic</title> 
    <link>http://thelinknewspaper.ca/article/3063</link> 

    <guid isPermaLink="false">thelink_entry_3063</guid> 
    <description><![CDATA[ 


     <img alt="" width="690" height="407" src="http://thelinknewspaper.ca/images/cache/c11f5084728aa602d09cd15bb20ae7a86b06be79.jpg" /> 
    </p> 


    <p>This is the story of Andrew Murchison, a Katimavik volunteer whose life was changed by the federal youth program.</p>   
    <p><iframe class="scribd_iframe_embed" src="http://www.scribd.com/embeds/101595075/content?start_page=1&view_mode=list&access_key=key-1ss1qrvm5hi9h7othhkq" data-auto-height="true" data-aspect-ratio="0.777636594663278" scrolling="no" id="doc_79691" width="100%" height="600" frameborder="0"></iframe></p> 




      ]]></description> 
      <dc:creator>Paku Daoust&#45;Cloutier</dc:creator> 
    <dc:date>2012-07-31T00:20:54+00:00</dc:date> 
</item> 

我在HTML視圖中顯示內容的文本視圖中顯示內容!

我怎麼能在一個良好的可讀的方式用滾動條顯示它的特定區域內

感謝

這裏是我使用的代碼的一部分:

@Override 
    public View getView(final int position, View convertView, ViewGroup parent) { 
     View view = convertView; 
     ViewHolder holder; 
     if (view == null) { 
      LayoutInflater inflater = (LayoutInflater) activity 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      view = inflater.inflate(R.layout.row, null); 

      holder = new ViewHolder(); 
      view.setTag(holder); 
     } else { 
      holder = (ViewHolder) view.getTag(); 
     } 

     if ((items == null) || ((position + 1) > items.size())) 
      return view; 

     objBean = items.get(position); 


     holder.title = (TextView) view.findViewById(R.id.txttitle); 
     holder.description = (TextView) view.findViewById(R.id.txtdesc); 



     if (holder.title != null && null != objBean.getTitle() 
       && objBean.getTitle().trim().length() > 0) { 
      holder.title.setText(Html.fromHtml(objBean.getTitle())); 
     } 
     if (holder.description != null && null != objBean.getDescription() 
       && objBean.getDescription().trim().length() > 0) { 
      holder.description.setText(Html.fromHtml(objBean.getDescription())); 
     } 


     // Even and odd Row... 
     if ((position % 2) == 0) { 
      view.setBackgroundResource(R.drawable.bg_list_even); 
     } else { 
      view.setBackgroundResource(R.drawable.bg_list_odd); 
     } 

     return view; 
    } 

public class NewsDetail extends Activity { 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.detail); 

     Bundle b = this.getIntent().getExtras(); 

     String title = b.getString("title"); 
     String desc = b.getString("description"); 

     final String link = b.getString("link"); 


     TextView tvtitle = (TextView) findViewById(R.id.tvtitle); 
     TextView tvdesc = (TextView) findViewById(R.id.tvdesc); 


     Button btnWeb = (Button) findViewById(R.id.btngotolink); 
     btnWeb.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(link))); 
      } 
     }); 

     tvtitle.setText(title); 
     tvdesc.setText(desc); 


     setTitle(title); 
    } 

} 

再次感謝任何幫助將非常感謝!

回答

3

當您設置的文本,將其設置爲文本從HTML:

tvdesc.setText(Html.fromHtml(desc)); 

如果你想顯示從HTML圖像,你需要使用一個WebView與這些方針的東西:

myWebview.loadData(myHtmlString, "text/html; charset=UTF-8", null); 
+0

非常感謝這解決了刪除HTML標籤出現,但描述內的圖像呢?可以「文本視圖」顯示圖像,或者我應該使用「textview」元素以外的其他內容來顯示Feed內容?謝謝 – Moe 2012-07-31 21:25:42

+0

我已經更新了我的答案,以回答您的問題。希望能幫助到你! – Nick 2012-08-01 00:45:17

+0

我會嘗試你的建議爲webview和回來的結果。你知道「脈衝」應用程序嗎?我想以類似的方式顯示文章,以顯示鏈接和媒體(如圖像和視頻),他們是否按照您的建議使用了webview?謝謝 – Moe 2012-08-01 14:01:07