2011-11-09 58 views
0

我一直在玩我在網上找到的示例應用程序。只是改變一下看看它是如何工作的。昨天這不是問題。今天是另一回事。我似乎將正確的信息寫入數據庫。我已經檢查了日誌輸出。當我通過遊標返回信息時,我會得到「null」。所以說,我輸入「雞蛋」,「麪包」和「糖果」。我回到「null」,「null」和「null」。從SQL lite獲得空值db

這一切都始於監聽添加雜貨按鈕。添加到數據庫並將列表寫入標籤。

任何幫助?

private void addEvent(String title) { 
    SQLiteDatabase db = eventsData.getWritableDatabase(); 
    ContentValues values = new ContentValues(); 
    Log.v(TAG, "Adding " + title); 
    values.put(EventsDataSQLHelper.TITLE, title); 
      db.insert(EventsDataSQLHelper.TABLE, null, values); 

    } 

    private Cursor getEvents() { 
    SQLiteDatabase db = eventsData.getReadableDatabase(); 
    Cursor cursor = db.query(EventsDataSQLHelper.TABLE, null, null, null, null, 
     null, EventsDataSQLHelper.TITLE);  
    startManagingCursor(cursor); 
    return cursor; 
    } 

    private void showEvents(Cursor cursor) { 
    StringBuilder ret = new StringBuilder(); 
    while (cursor.moveToNext()) {    
     String title = cursor.getString(1); 
     ret.append(title + "\n"); 
     Log.v(TAG, "SHOWING RET VARIABLE" + ret); 
    } 
    t.setText(ret); 

    } 
    View.OnClickListener myhandler = new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View GLview) 
     { 
      EditText eT = (EditText)findViewById(R.id.itemName1); 
      editTextStr = eT.getText().toString(); 
      Log.v(TAG, editTextStr); 
      if(editTextStr != null) 
      { 
       addEvent(editTextStr.toString()); 
       Cursor cursor = getEvents(); 
       showEvents(cursor);    
       eT.setText(null); 
      } 
     } 
    }; 

回答

0

確保光標指向結果的第一個元素cursor.moveToFirst(); 然後調用cursor.moveToNext()