Aşağıdaki DB sorgumdan en son 5 sonucu döndüren bir imleç var.Arraylist imleç sorgusuyla düzgün çalışmıyor
public Cursor totaldistance(){
String[] columns = new String[] { DatabaseHelper._ID, DatabaseHelper.DSNM, DatabaseHelper.SDATE };
Cursor cursor = database.query(DatabaseHelper.TABLE_NAME, columns, null, null, null, null, DatabaseHelper._ID + " DESC limit 5");
if (cursor != null) {
cursor.moveToFirst();
}
return cursor;
}
Ardından, döndürülen imleç değerlerini aşağıdaki arraylist'e atayım. Tamam çalışır, arrayList en son db kayıt değerini kaçırır. Örneğin, DB'de 4 değere sahip olabilirim, ancak en son 2. değer arrailistte 0 konumuna atanıyor. İmleç sorgum veya while ifadesinin sorun olup olmadığından emin değilim. Kimse biliyor mu? Teşekkürler!
List<String> distancearray = new ArrayList<String>();
distancearray.add("0");
distancearray.add("0");
distancearray.add("0");
distancearray.add("0");
distancearray.add("0");
int i = 0;
while(DistanceArray.moveToNext()){
String uname = DistanceArray.getString(DistanceArray.getColumnIndex("distance"));
distancearray.set(i, uname);
i++;
}
Aşağıdaki önerilere dayanarak kodumu güncelledim. Şimdi veritabanından ilk sonuca ulaşılıyor ancak sonraki 4 ile döngü yapmıyor. Arraylistimin altındaki kodu çalıştırdıktan sonra 10,8,6,1,0 okumalı ama gerçek sonuç 10,10,10,10 , 0. İlk elde edilen değeri tekrar ediyor. İşlemi yaparken doğru sonuçları diziye yazarken ne yapabilirim? Teşekkürler!
List<String> distancearray = new ArrayList<String>();
distancearray.add(0, "0");
distancearray.add(1, "0");
distancearray.add(2, "0");
distancearray.add(3, "0");
distancearray.add(4, "0");
Cursor cursor = dbManager.totaldistance();
do{
String uname = DistanceArray.getString(DistanceArray.getColumnIndex("distance"));
distancearray.set(i, uname);
Log.i("Graph", "Value i = " + i);
Log.i("Graph", "Array value = " + uname);
i++;
}while ((cursor.moveToNext()));
DistanceArray nedir burada? –
Arraylist'te saklamak istediğim db kayıtları kullanıcı tarafından girilen mesafe değerleridir. Örneğin, distancearray'a döndürülen sorgulamam 10,8,6,5,0 okumalıdır. Ancak kullanılan dizi 8,6,5,0,0 gösterir. – MarcusRey
İmlecinizi arraylist nüfus kodunda nerede kullanıyorsunuz – Sanjeev