Я пытаюсь изменить каждое значение в столбце «Дата». В основном это связано с циклическим перемещением по столбцу и изменением каждой записи до последней разницы в день. Проблема в том, что мой код постоянно меняет все на одно и то же значение. Поэтому, в основном, хотя «дни, оставшиеся» для каждой записи, должны быть разными, все сводится к одному числу. Это мой код.Цикл курсора Android через столбец
String[] projection = { HabitTable.COLUMN_ENDDATE, HabitTable.COLUMN_ID };
//Get end date from database
Cursor mCursor = getContentResolver().query(MyHabitContentProvider.CONTENT_URI, projection,
null, null, null);
//Store end date in array
if(mCursor != null){
do{
endDate = mCursor.getString(mCursor.getColumnIndexOrThrow(HabitTable.COLUMN_ENDDATE));
//Whole bunch of code to calculate days left
String[] eDate = endDate.split("-");
int eDay = Integer.parseInt(eDate[0]);
int eMonth = Integer.parseInt(eDate[1]);
eMonth--;
int eYear = Integer.parseInt(eDate[2]);
Calendar cNow = Calendar.getInstance();
Calendar cEnd = Calendar.getInstance();
cEnd.set(Calendar.DAY_OF_MONTH, eDay);
cEnd.set(Calendar.MONTH, eMonth);
cEnd.set(Calendar.YEAR, eYear);
long diff = cEnd.getTimeInMillis() - cNow.getTimeInMillis();
long days = diff/(24 * 60 * 60 * 1000);
if(days <= 0){
days = 0;
}
String y = String.valueOf(days);
ContentValues values = new ContentValues();
values.put(HabitTable.COLUMN_DAYSLEFT, y);
getContentResolver().update(MyHabitContentProvider.CONTENT_URI,values, null, null);
}while(mCursor.moveToNext());
}mCursor.close();
Есть ли какая-то большая ошибка, которую я сделал, я не поймал?
Я думаю, что вы правы .. Я с помощью тот же URI. – user2525981
Не могли бы вы показать мне свой ответ до вашего предыдущего редактирования? Я был просто посреди чтения и не смог закончить, и я думаю, что это могло бы помочь мне понять немного слишком – user2525981
, пожалуйста, посетите здесь http://www.anddev.org/other-coding-problems-f5/ how-to-use-getcontentresolver-update-t44066.html –