2011-05-13 2 views
1

저는 android와 java를 처음 사용합니다. 나는 XML을 파싱하고 다른 페이지 (페이지 매김)에 내용을 보여주는 활동을하고있다. 파싱하는 동안 이미 5 개 요소 (페이지의 요소 수)가 있는지 확인하고 업데이트 함수 (아래 코드)를 호출합니다. 이상적으로, 파서가 5 개의 요소를 파싱하자마자 내 화면에리스트 뷰를 가져와야합니다. 도움!!!Observer Pattern 구현을 사용하여 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 = ""; 
     } 

    } 

} 

답변

관련 문제