2011-01-10 17 views
5

Ich habe ein paar RSS-Feeds, die ich für meine App analysieren muss und ich folgte dem ausgezeichneten Tutorial hier: http://w2davids.wordpress.com/android-rssatom-feeds-parsing-with-rome /. Ich habe das Sample ein wenig modifiziert und habe es so gemacht, dass ich das tun konnte, was ich brauchte. Also habe ich es in meine App integriert und erhalte jedes Mal einen Force-Quit, wenn ich versuche, die Liste der Posts anzuzeigen. Meine modifizierte Version des Codes ist unten. Es scheint immer zu scheitern, wenn ich den Adapter an den ListView anschließe, also nehme ich an, dass mein Adapter falsch eingestellt ist. Was uns merkwürdig ist, dass ich im Debugger den Adapter betrachten kann und die Daten sehe, die ich abrufen möchte.Parsing RSS auf Android

Vielen Dank im Voraus:

public class View1 extends Activity 
{ 
    /** Called when the activity is first created. */ 
    private final ArrayList<String> list = new ArrayList<String>(); 
    private ListView listView; 
    private ArrayAdapter<String> adapter = null; 
    private SyndContent desc; 
    private ArrayList<String> d = new ArrayList<String>() ; 

    @Override 
    public void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      adapter = new ArrayAdapter<String>(this, R.layout.dataview, R.id.ListItemView);    
      getRSS("http://www.example.com/wp/?feed=gigpress&artist=1"); 
      listView.setAdapter(adapter); 


      listView = (ListView) this.findViewById(R.id.ListView); 

      listView.setOnItemClickListener(new OnItemClickListener() 
       { 
        @Override 
        public void onItemClick(AdapterView<?> parent, View view, int position, long duration) 
         {        
          Intent intent = new Intent(); 
          intent.setClassName("com.example.idtb", "com.example.idtb.ViewRssDescription"); 
          intent.putExtra("desc", d.get(position)); 
          startActivity(intent); 
         } 
       });    

     } 

    private void getRSS(String rss) 
     { 

      URL feedUrl; 
      try 
       { 
        Log.d("DEBUG", "Entered:" + rss); 
        feedUrl = new URL(rss); 

        SyndFeedInput input = new SyndFeedInput(); 
        SyndFeed feed = input.build(new XmlReader(feedUrl)); 
        List entries = feed.getEntries(); 

        Iterator iterator = entries.listIterator(); 
        while (iterator.hasNext()) 
         { 
          SyndEntry ent = (SyndEntry) iterator.next(); 
          String title = ent.getTitle(); 
          desc = ent.getDescription(); 
          d.add(desc.getValue()); 
          adapter.add(title); 
         } 
        adapter.notifyDataSetChanged(); 

       } 
      catch (MalformedURLException e) 
       { 
        e.printStackTrace(); 
       } 
      catch (IllegalArgumentException e) 
       { 
        e.printStackTrace(); 
       } 
      catch (FeedException e) 
       { 
        e.printStackTrace(); 
       } 
      catch (IOException e) 
       { 
        e.printStackTrace(); 
       } 
     } 
} 
+0

das Problem der Suche nach Ended up ... Newb Fehler verweist die falsche InhaltAlle und die falsche Steuer ID Grabbing . Mist. – voodoobilly

Antwort

1

denke ich Adapter wie folgt aussehen sollte:

final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, lst);