2016-07-28 8 views
1

Ich verwende diesen Code, aber es gibt Nullwert zurück. Wenn ich meinen Code bin debuggen, die ihren gegebenen Nullwert zeigenListe Rückgabe Nullwert

List<TextJson> textList = null; 
    try{ 
     textList = new ArrayList<TextJson>(); 
     Cursor cursor = db.rawQuery("SELECT * FROM "+TABLE_TEXTS + " WHERE " + KEY_CATE + " = '" + text_spinner1 + " ' " , null); 
      Log.e("Cursor is","==>"+cursor); 
      Log.e("0_0", "0_0 1=>"); // code working on here 
     if(!cursor.isLast()) 
      { 
      Log.e("Hey","last"); 
      while (cursor.moveToNext()) 
      { 
       TextJson txtlist = new TextJson(); 
       txtlist.setId(cursor.getInt(0)); 
       txtlist.setText_status(cursor.getString(1)); 
       textList.add(txtlist); 
      } 
     } 
     db.close(); 
    }catch (Exception e){ 
     Log.e("error","is==> " +e); 
    } 
    return textList; // null value 

Mein log

E/Spinner value is: --=> speech 
E/inside: getDetailtospinner 
E/Cursor is: ==>[email protected] 
E/0_0: 0_0 1=> 
E/Hey: last 

Helfen Sie mir diese aus.

+0

, warum Sie benötigen 'cursor.isLast()' überprüfen? –

+0

Setzen Sie ein 'Log' in' while' und sehen Sie, ob 'Cursor' Daten zurückgibt. – Venky

+0

siehe mein log veny – newdeveloper

Antwort

1

ändern

Cursor cursor = db.rawQuery("SELECT * FROM "+TABLE_TEXTS + " WHERE " + KEY_CATE + " = '" + text_spinner1 + " ' " , null); 

zu

Cursor cursor = db.rawQuery("SELECT * FROM "+TABLE_TEXTS + " WHERE " + KEY_CATE + " = '" + text_spinner1 + "'" , null); 
// or Cursor cursor = db.rawQuery("SELECT * FROM "+TABLE_TEXTS + " WHERE " + KEY_CATE + " LIKE '" + text_spinner1 + "'" , null); 
+0

vielen vielen Dank funktioniert jetzt – newdeveloper

+0

eine weitere Frage, wenn Sie frei sind – newdeveloper

+0

@newdeveloper, wenn Sie eine andere Frage haben, bitte posten Sie in einem anderen Post dann geben Sie mir einen Link. Happy Coding –