在下面的代码中,分页数据存储到数据库之后,但是当我从数据库中获取新数据时,自定义列表没有显示任何数据,但是如果我转到下一个选项卡并返回它开始显示数据(注意:来自数据库的新数据成功获取仅未生成自定义列表),有什么我遗漏的吗?
下面是代码片段
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\":\"as@as.com\"},\"created_at\":\"2012-04-09T05:53:31Z\",\"id\":43},{\"title\":\"Sample Victory\",\"user\":{\"email\":\"mahesh@yopmail.com\"},\"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;
}
}
}
});
}