Android döngü içinde gelen aynı değerler
07.07.2015 - 10:20
Merhaba,
Sorumun tam olarak androidle alakası yok aslında fakat 1 gündür çok saçma bir hata ile uğraşıyorum. Veritabanından çektiğim verileri bir diziye veya List'e atmaya çalışıyorum fakat döngünün son elemanı dizinin tüm indislerine yerleşiyor.
public Word[] getChoicePack(SQLiteDatabase db,ArrayList<String> notIn){
Cursor cursorOther=null;
cursorOther=db.rawQuery("SELECT DISTINCT * FROM words WHERE id NOT IN ('"+3+"') ORDER BY RANDOM() LIMIT 0,4",null);
int i=1;
ArrayList<Word> quizWords=new ArrayList<Word>(3);
if(cursorOther.moveToFirst()){
for(int k=0;cursorOther.moveToNext();k++){
Word word=new Word(cursorOther.getInt(0),cursorOther.getString(1),cursorOther.getString(2),cursorOther.getString(3),Integer.parseInt(cursorOther.getString(4)));
quizWords.add(k,word);
Log.v("i-->", String.valueOf(i)); // log sonuçları aşağıda mevcut
Log.v("current word --_>",word.toString()); // o anki word nesnesi
i++;
//tempWord=null;
}
cursorOther.close();
db.close();
}else{
Log.v("Sorgu null","Sorgu null");
}
Word[] words=new Word[]{quizWords.get(0),quizWords.get(1),quizWords.get(2)};
return words;
}
Log sonuçları.Yani döngüde benzersiz veri geldiği kesin.ArrayList yerine Word dizisii tanımlayıp öyle denediğimde de böyle oldu( Word dizisinin nesnesini döngünün üstünde tanımlamıştım orada da bir hata yok).
07-07 21:57:59.955 13150-13150/com.foo.foo V/i-->﹕ 1
07-07 21:57:59.955 13150-13150/com.foo.foo V/current word --_>﹕ {"group_id":1,"tr":"gitmek","en":"go"}
07-07 21:57:59.955 13150-13150/com.foo.foo V/i-->﹕ 2
07-07 21:57:59.955 13150-13150/com.foo.foo V/current word --_>﹕ {"group_id":1,"tr":"kutlamak","en":"celebrate"}
07-07 21:57:59.955 13150-13150/com.foo.foo V/i-->﹕ 3
07-07 21:57:59.955 13150-13150/com.foo.foo V/current word --_>﹕ {"group_id":1,"tr":"girmek","en":"enter, come in"}
3
Görüntülenme
0 Beğeni