2011-05-13 73 views
1

我是新来的android和java。我正在做一个解析XML并在不同页面显示内容的活动(分页)。在解析时,我检查是否已有多达5个元素(页面上的元素数量),并调用更新函数(如下所示的代码)。理想情况下,只要解析器解析5个元素,我应该在我的屏幕上获得listview,这不会发生。帮帮我!!!无法使用Observer模式实现更新ListView

public class FeedActivity extends Activity 
      implements OnGestureListener, OnTouchListener, FeedDataListener { 
    ......  
    private void doit() { 
     ... 
     feedAdapter = new FeedListAdapter(this, R.layout.pagination1, 
               feedListPage.getFeedList()); 
     lv.setAdapter(feedAdapter); 
     ... 
    } 

    public void update(FeedItemList fil, int page) { 
     if (feedList == null) { 
      feedList = fil; 
      doit(); 
     } 
     else { 
      feedList.getFeedList().clear(); 
      feedList.setFeedList(fil.getFeedList()); 
      feedAdapter.notifyDataSetChanged(); 
     } 
    } 

    @Override 
    public void endElement(String uri, String localName, String qName) throws SAXException { 
     if (localName.equalsIgnoreCase("item")) { 
      if (fi != null) flist.addFeedItem(fi); 
      if (flist.getSize() % 5 == 0) 
       l.update(flist, 
          (int) Math.ceil((float) flist.getSize()/(float) 2)); 
     } else if (fi != null) { 
      if (itemSubElements.contains(localName)) { 
       fi.setElement(_tmpItem, html2text(_tmpValue)); 
       _tmpItem = null; 
       _tmpValue = ""; 
     } 

    } 

} 

回答