Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Cursor

Quando eu usava eu fazia assim ! 
@Override
public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.view0);
     
       Cursor c =   notasdb.getReadableDatabase().rawQuery(SQL,null);
       startManagingCursor(c);
       String[] columns = new String[] { "TITLE","CRIADO"};
       int[] to = new int[]{R.id.txt1,R.id.txt2};
       
       
      SimpleCursorAdapter  mAdapter = new SimpleCursorAdapter(this,R.layout.view0, c, columns, to );
      setListAdapter(mAdapter);
      Log.v(TAG, "Exibindo dados vindos do BANCO !!!");
     
       
}




Em 5 de março de 2012 22:51, Renato Porto Puccini <renatoppuccini@gmail.com> escreveu:
entao, eis o X da questao (estava a debugar e veja o que ocorre).
 se eu comento o moveToFirst(), o codigo nao funciona. Simplesmente pego o erro no log cat ->E/Cursor(714): Invalid statement in fillWindow()
o estranho que eu ja ate substitui o moveToFirst() por um System.out.println(cursor.getCount()); e continua funcionado. porem se eu comentar a linha com o print ele pega o mesmo erro.
sacou?
parece que tem que ter uma linha que acessa o cursor antes do startmanagingcursor para que ele funcione. Estranho isso.
=/


------------------------------------------
Renato Porto Puccini
renatopuccinipt.com
@renatoporto
renatoppuccini@gmail.com
------------------------------------------



2012/3/5 Marcelo Henrique <marcelohd02@gmail.com>

Quando você usa o startmaningcursor nao precisa usar movetofirst pois ele faz a  tudo. " sozinho".
Se nao me engano ele ta deprecated.

Via milestone

Em 05/03/2012 20:41, "Renato Porto Puccini" <renatoppuccini@gmail.com> escreveu:

Nao sei se ja postaram sobre popular cursores, mas la vai!!!

 /**
     * Fetch data from database, then populates the cursor.
     * */
    private void populateCursor(){       
       
        String[] FROM = {IdeaTable.ID,    IdeaTable.TITLE,    IdeaTable.DESCRIPTION,    IdeaTable.DATE_ADDED};
       
        SQLiteDatabase db = ideaDB.getReadableDatabase();
       
        //SELECT * FROM tableName ORDER BY title
         myC = db.query(IdeaTable.TABLE_NAME, FROM, null, null, null, null," title");
        //System.out.println(myC.getCount());
         myC.moveToFirst();
        startManagingCursor(myC);
       
        db.close();       
    }   

No codigo acima se eu comento a linha myC.moveToFirst(); (myC eh o cursor) ele nao consegue popular minha lista e da um error.
03-05 20:27:11.866: E/Cursor(714): Invalid statement in fillWindow()

mas se eu descomento essa linha, ele funciona e popula a minha listview numa boa.
Alguem ja passou por isso?

abs

------------------------------------------
Renato Porto Puccini
renatopuccinipt.com
@renatoporto
renatoppuccini@gmail.com
------------------------------------------





--
                                              - Marcelo Henrique -
  "Se não puder se destacar pelo talento, vença pelo esforço." (Dave Weinbaum)

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário