1
次のコードでは、ページデータがデータベースに保存された後、データベースから新しいデータをフェッチするとカスタムリストにデータが表示されませんが、それはデータを表示し始めます(注:データベースからの新しいデータは正常にフェッチされたカスタムリストのみが生成されません)、私は行方不明のものはありますか?以下はページ指定後にカスタムリストにデータを挿入する方法
リストアダプタのデータ変更後のコールこの方法
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;
}
}
}
});
}