2012-04-19 20 views
1

在下面的代码中,在将分页数据存储到数据库之后,但是当我从数据库中获取新数据时,自定义列表不会显示任何数据,但是如果我转到下一个选项卡并进入回到它开始显示数据(注意:从数据库成功获取新数据只有自定义列表不会生成),有什么我缺少的东西?如何在paginition后将数据插入到自定义列表中

下面的代码片段

private void getFeedsData() { 
     // TODO Auto-generated method stub 

     VictoriesDBAdapter mFeedsDBAdapter = new VictoriesDBAdapter(this, 
       Constants.strFeedsTableName); 

     try { 
      // //////getting all Feeds Data from API into response 
      mAppStatus = AppStatus.getInstance(this); 
      List<NameValuePair> params = new ArrayList<NameValuePair>(2); 
      params.add(new BasicNameValuePair(Constants.AUTH_KEY, mAppStatus 
        .getSharedStringValue(Constants.AUTH_KEY))); 
      String pageNumber = new Integer(iPageNo).toString(); 
      params.add(new BasicNameValuePair("PAGE_NO", pageNumber)); 
      String strJsonReponse = RestClient.getInstance(this).doApiCall(
        Constants.strFeedsTab, "GET", params); 
      Log.i("Feeds Data Response...######", 
        String.valueOf(strJsonReponse)); 

      // Fetching web service Response 
      // String strJsonReponse = 
      // "[{\"title\":\"Invitation through Email\",\"user\":{\"email\":\"[email protected]\"},\"created_at\":\"2012-04-09T05:53:31Z\",\"id\":43},{\"title\":\"Sample Victory\",\"user\":{\"email\":\"[email protected]\"},\"created_at\":\"2012-04-10T15:56:32Z\",\"id\":49}]"; 
      // Log.i("JSON RESONSE.....####", strJsonReponse); 
      if (isNewFlag == true) 
       mFeedsDBAdapter.deleteAll(); 
      if (strJsonReponse.equals("[]")) { 
       bIsLastPage = true; 
       Log.i("emtryyyyyyyyyy", "NULL"); 
       generateCustomList(); 
      } else { 

       ParseResult parser = new ParseResult(); 
       ArrayList<VictoriesDataModel> victoriesArray = parser 
         .parseVictoriesData(strJsonReponse, isPostedByFlag); 
       dbFunctions.storeFeedsDataInDB(victoriesArray); 


      } 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } 


private void generateCustomList() { 
     // TODO Auto-generated method stub 
     VictoriesDBAdapter mFeedsDBAdapter = new VictoriesDBAdapter(
       FeedsActivity.this, Constants.strFeedsTableName); 
    // VictoriesDataModel mVictoriesDataModel = new VictoriesDataModel(); 
     ArrayList<VictoriesDataModel> victoriesData = mFeedsDBAdapter 
       .getVictoriesList(0, FeedsActivity.this); 
     listCustomListViewId.setAdapter(new FeedsListAdapter(
       FeedsActivity.this, victoriesData)); // display data into custom 
                 // list 
     listCustomListViewId.setOnScrollListener(new OnScrollListener() { 

     @Override 
     public void onScrollStateChanged(AbsListView view, int scrollState) { 
     // TODO Auto-generated method stub 

     } 

     @Override 
     public void onScroll(AbsListView view, int firstVisibleItem, 
     int visibleItemCount, int totalItemCount) { 
     // TODO Auto-generated method stub 
     int lastInScreen = firstVisibleItem + visibleItemCount; 
     // is the bottom item visible & not loading more already ? Load 
     // more ! 
     Log.i("Endless List", "########firstVisibleItem" 
     + firstVisibleItem); 
     Log.i("Endless List", "########visibleItemCount" 
     + visibleItemCount); 
     Log.i("Endless List", "########last in screen" + lastInScreen); 
     Log.i("Endless List", "########total Item" + totalItemCount); 
     if ((totalItemCount != 0) && (lastInScreen == totalItemCount) 
     && !(loadingMore)) { 
     Log.i("Endless List", "########getting 10 more List items"); 

     if (!bIsLastPage) { 
     // FeedsActivity.this.showDialog(0); 
     iPageNo++; 
     Log.i("Page No.....", String.valueOf(iPageNo)); 
     loadingMore = true; 
     isNewFlag = false; 
     getFeedsData(); 
     Log.i("control......", "At POssssssss"); 
     loadingMore = false; 

     } 
     } 

     } 
     }); 
    } 

回答

0

通话清单适配器的数据更改后,这个方法:

mFeedsDBAdapter.notifyDataSetChanged() ; 
相关问题