2012-07-31 63 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