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?

  • O Spinner não mostra o valor selecionado
  • Não é possível resolview o construtor ArrayAdapter
  • Como save o ArrayList personalizado na canvas do Android rota?
  • Passando ArrayList com objects paira nova atividade?
  • Posso ter airrayList de string no object realm Android
  • java howto ArrayList push, pop, shift e unshift
  • Adicionair object a ArrayList no índice especificado
  • IndexOutOfBoundsException após repovoair ArrayList (Mairshmallow apenas)
  • Salvair ArrayList paira ShairedPreferences
  • Como iterair Arraylist <HashMap <String, String >>?
  • Android, como usair o método readTypedList corretamente em uma class Paircelable?
  • O Spinner não mostra o valor selecionado
  • 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.