我在json webservice中有11個項目。我在sqlite中存儲了詳細信息並從sqlite中顯示它們。所以我必須檢查網絡service.If id的SQLite和TAG_ID的ID是不相等的,那麼我必須更新自己的源碼細節和顯示他們,我使用循環只重複一次,而不是重複的Android中的項目數
if(data_exist!=bookProduct.length()){
Log.i("in update","m here");
Cursor cursors = getRawEvents("select id from bcuk_book");
try{
for (int i = 0; i < bookProduct.length(); i++) {
JSONObject c = bookProduct.getJSONObject(i);
String Bid = c.getString(TAG_ID);
ArrayList<String> mapId = new ArrayList<String>();
while(cursors.moveToNext())
{
Log.e("cursors",cursors.getString(0));
Log.i(Bid,Bid);
String csv = cursors.getString(0);
if(!cursors.getString(cursors.getColumnIndex(TAG_ID)).equalsIgnoreCase(c.getString(TAG_ID)))
{
Log.e("fas",Bid);
}
else
{
Log.e("enter","if case");
cursors.moveToPosition(i);
}
}
mapId.add(TAG_ID);
Log.e(Bid,Bid);
}
}
這裏的問題是IAM能夠得到TAG_ID只有一次在for循環中,但是while得到所有項目,所以比較只進行一次而不是比較所有項目。 我該如何解決這個問題?
我已經在你以前的問題中回答了這個問題,因爲沒有cursors.moveToFirst();不可能再次從光標循環 –