2012-10-04 41 views
4

我没有通过getDescription()方法得到完整的描述,我错在哪里?RSS阅读器没有得到完整描述

RSSReader.java

public class RSSReader extends Activity implements OnItemClickListener 
{ 

    public final String RSSFEEDOFCHOICE = "someurloffeedburner?format=xml"; 

    public final String tag = "RSSReader"; 
    private RSSFeed feed = null; 

    /** Called when the activity is first created. */ 

    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     setContentView(R.layout.main); 

     // go get our feed! 
     feed = getFeed(RSSFEEDOFCHOICE); 

     // display UI 
     UpdateDisplay(); 

    } 


    private RSSFeed getFeed(String urlToRssFeed) 
    { 
     try 
     { 
      // setup the url 
      URL url = new URL(urlToRssFeed); 

      // create the factory 
      SAXParserFactory factory = SAXParserFactory.newInstance(); 
      // create a parser 
      SAXParser parser = factory.newSAXParser(); 

      // create the reader (scanner) 
      XMLReader xmlreader = parser.getXMLReader(); 
      // instantiate our handler 
      RSSHandler theRssHandler = new RSSHandler(); 
      // assign our handler 
      xmlreader.setContentHandler(theRssHandler); 
      // get our data via the url class 
      InputSource is = new InputSource(url.openStream()); 
      // perform the synchronous parse   
      xmlreader.parse(is); 
      // get the results - should be a fully populated RSSFeed instance, or null on error 
      return theRssHandler.getFeed(); 
     } 
     catch (Exception ee) 
     { 
      // if we have a problem, simply return null 
      return null; 
     } 
    } 
    public boolean onCreateOptionsMenu(Menu menu) 
    { 
     super.onCreateOptionsMenu(menu); 

     menu.add(0,0,0, "Choose RSS Feed"); 
     menu.add(0, 1, 1, "Refresh"); 
     Log.i(tag,"onCreateOptionsMenu"); 
     return true; 
    } 

    public boolean onOptionsItemSelected(MenuItem item){ 
     switch (item.getItemId()) { 
     case 0: 
      Log.i(tag,"Set RSS Feed"); 
      return true; 
     case 1: 
      Log.i(tag,"Refreshing RSS Feed"); 
      return true; 
     } 
     return false; 
    } 


    private void UpdateDisplay() 
    { 
     TextView feedtitle = (TextView) findViewById(R.id.feedtitle); 
     TextView feedpubdate = (TextView) findViewById(R.id.feedpubdate); 
     ListView itemlist = (ListView) findViewById(R.id.itemlist); 


     if (feed == null) 
     { 
      feedtitle.setText("No RSS Feed Available"); 
      return; 
     } 

     feedtitle.setText(feed.getTitle()); 
     feedpubdate.setText(feed.getPubDate()); 

     ArrayAdapter<RSSItem> adapter = new ArrayAdapter<RSSItem>(this,android.R.layout.simple_list_item_1,feed.getAllItems()); 

     itemlist.setAdapter(adapter); 

     itemlist.setOnItemClickListener(this); 

     itemlist.setSelection(0); 

    } 


    public void onItemClick(AdapterView<?> parent, View v, int position, long id) 
    { 
     Log.i(tag,"item clicked! [" + feed.getItem(position).getTitle() + "]"); 

     Intent itemintent = new Intent(this,ShowDescription.class); 

     Bundle b = new Bundle(); 
     b.putString("title", feed.getItem(position).getTitle()); 
     b.putString("description", feed.getItem(position).getDescription()); 
     b.putString("link", feed.getItem(position).getLink()); 
     b.putString("pubdate", feed.getItem(position).getPubDate()); 

     itemintent.putExtra("android.intent.extra.INTENT", b); 

     startActivityForResult(itemintent,0); 
    } 
} 

Showdescription.xml文件

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:autoLink="all" 
    android:text="story goes here ...." 
    android:id="@+id/storybox" 
    /> 
<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Back" 
    android:id="@+id/back" 
    />  

</LinearLayout> 

我越来越描述第1二,三线由feedburners网址验证码。所以这是我的这两个文件的代码帮助我了解我应该做些什么修改才能得到完整的描述。

回答

0

在描述中是否有XML全文? 某些XML只提供摘要,您需要从博客管理属性面板启用完整文章。 即使该更改不能自动为feedburner工作,请检查feedburner管理面板。

+0

你是对的我有我的XML文件的问题。感谢答复。 – tejas178