2016-04-11 24 views
-2

Bir sorgudan 5 değer döndüren bir imleç var. Mevcut 5 arraylist değerini db sorgusunun sonuçlarının üzerine yazmak istiyorum. Benim kodumda while döngüsü sadece ilk Arraylist değerini üzerine yazıyor.Arraylist değerlerinin üzerine yazarken loop kullanımı

Hata yaptığımı bilen var mı?

List<String> distancearray = new ArrayList<String>(); 
distancearray.add("0"); 
distancearray.add("0"); 
distancearray.add("0"); 
distancearray.add("0"); 
distancearray.add("0"); 

while(DistanceArray.moveToNext()){ 
    String uname = DistanceArray.getString(DistanceArray.getColumnIndex("distance")); 
    int i = 0; 
    distancearray.set(i, uname); 
    i++; 
} 

cevap

2

Sen ise her döngü tekrarında 0'a i sıfırlıyorsanız.

Sen her tekrarında 0'a i başlatılıyor ediyoruz

int i = 0; 
while(DistanceArray.moveToNext()){ 
    String uname = DistanceArray.getString(DistanceArray.getColumnIndex("distance")); 
    distancearray.set(i, uname); 
    i++; 
} 
1

döngü önce taşı

int i = 0; 

. Sen döngü dışında kendi beyanı hareket etmelidir:

int i = 0; 
while (DistanceArray.moveToNext()) { 
    String uname = DistanceArray.getString(DistanceArray.getColumnIndex("distance")); 
    distancearray.set(i, uname); 
    i++; 
} 

Sana dışı sınırları sorunları önlemek amacıyla i üzerinde kontrole girmen öneriyoruz. Ayrıca gelecekte hata ayıklayıcısını kullanın, kod akışınızı ve sorunlarınızı daha iyi anlamanıza yardımcı olacaktır.