2011-01-10 21 views
5

Birkaç RSS beslemem var. Uygulamam için ayrıştırmam gerekiyor ve buradaki mükemmel eğiticiyi takip ettim: http://w2davids.wordpress.com/android-rssatom-feeds-parsing-with-rome /. Örneği biraz değiştirdim ve ihtiyacım olanı yapabildim. Bu yüzden, uygulamayı her zaman uygulamaya koymaya gittim ve her seferinde yayın listesini görüntülemeye çalıştığımda sürekli olarak bir Güç Çıkışı aldım. Kodun değiştirilmiş sürümüm aşağıda. Bağdaştırıcıyı ListView'e bağlarken her zaman başarısız gibi görünüyor, bu yüzden bağdaştırıcımın yanlış kurulduğunu varsayıyorum. Hata ayıklayıcıda, adaptöre bakıp getirmeye çalıştığım verileri görmemiz garip. peşinAndroid'de Ayrıştırma RSS

Teşekkür:

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

yanlış contentView başvuran ... Newb hata sorunu bulma ve yanlış kumanda kimliğini kapma sona erdi . Bok. – voodoobilly

cevap

1

Ben adaptör bu gibi görünmelidir düşünüyorum:

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