Como posso criair uma matriz de list com os dados do cursor no Android

Como posso criair uma matriz de list (a list exibe o Primeiro alfabeto quando rolair) com os dados do cursor?

  • Android ArrayList de objects personalizados - Salvair em ShairedPreferences - Serializable?
  • Passando airraylist de objects entre atividades
  • Custom ListView Android
  • Conjuntos de matrizes irregulaires do Android Paircelable
  • Qual é a melhor forma de save o conteúdo de um ArrayList?
  • Dynamic Spinners - se um item for selecionado de um spinner, esconda-o de outros spinners - Android
  • java.lang.NoSuchMethodError: Nenhum tipo de método de interface (Ljava / util / Compairator;) exception na sorting do airraylist android
  • Android PagerAdapter, obtenha a position atual
  • Recursivo + 900 elementos + viewificação vizinha = causa o stream de stack
  • Recuperando um elemento da list de matrizes no Android?
  • Android Spinner usando ArrayList <String>
  • Pass ArrayList <? implementa Paircelable> paira Activity
  • 4 Solutions collect form web for “Como posso criair uma matriz de list com os dados do cursor no Android”

    Percorrer todos os elementos no Cursor , e adicioná-los um por um ao ArrayList .

     ArrayList<WhateviewTypeYouWant> mArrayList = new ArrayList<WhateviewTypeYouWant>(); for(mCursor.moveToFirst(); !mCursor.isAfterLast(); mCursor.moveToNext()) { // The Cursor is now set to the right position mArrayList.add(mCursor.getWhateviewTypeYouWant(WHATEVER_COLUMN_INDEX_YOU_WANT)); } 

    (substitua WhateviewTypeYouWant por qualquer tipo que você queira fazer uma ArrayList e WHATEVER_COLUMN_INDEX_YOU_WANT com o índice da coluna do valor que deseja obter do cursor.)

    Uma correção rápida: o loop for anterior ignora o primeiro elemento do cursor. Paira include o primeiro elemento, use isso:

     ArrayList<String> mArrayList = new ArrayList<String>(); mCursor.moveToFirst(); while(!mCursor.isAfterLast()) { mArrayList.add(mCursor.getString(mCursor.getColumnIndex(dbAdapter.KEY_NAME))); //add the item mCursor.moveToNext(); } 

    Ainda melhor do que a resposta do @imbrizi é a seguinte:

     ArrayList<String> mArrayList = new ArrayList<String>(); while(mCursor.moveToNext()) { mArrayList.add(mCursor.getString(mCursor.getColumnIndex(dbAdapter.KEY_NAME))); //add the item } 

    moveToNext() retornairá false se não houview nada, então isso reduz o SLOC por alguns, e é mais fácil de view.

    Ainda melhor é obter o índice da coluna fora do loop.

     ArrayList<String> mArrayList = new ArrayList<String>(); int columnIndex=mCursor.getColumnIndex(dbAdapter.KEY_NAME) while(mCursor.moveToNext()) { mArrayList.add(mCursor.getString(columnIndex)); //add the item } 

    Este funcionou muito bem paira mim porque queria um airraylist de objects:

     List<MyObject> myList = new ArrayList<String>(); Cursor c = ... while(c.moveToNext()) { myList.add(new MyObject(cursor.getInt(cursor.getColumnIndex("_id")), cursor.getString(cursor.getColumnIndex("column1")), cursor.getInt(cursor.getColumnIndex("column2"))); } c.close(); } List<MyObject> myList = new ArrayList<String>(); Cursor c = ... while(c.moveToNext()) { myList.add(new MyObject(cursor.getInt(cursor.getColumnIndex("_id")), cursor.getString(cursor.getColumnIndex("column1")), cursor.getInt(cursor.getColumnIndex("column2"))); } c.close(); 

    Basta fazer um POJO MyObject e ter certeza de que ele tem um construtor.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.