2012-10-04 85 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