Problema Android Studio, sql percorrendo cursor (Resolvido)

Boa tarde pessoal, estou tendo alguns problemas com meu código, sou um pouco leigo ainda, se poderem dar uma força, valeuu! Obs: o codigo está travando quando entra dentro do while, independente de seu conteudo.

  bancoDados.execSQL("DELETE FROM itens");

            int contador = 0;

            bancoDados.execSQL("INSERT INTO itens (id,nome,qfechado,qsistema,separado) VALUES ('561','papel','16','321','0')");
            bancoDados.execSQL("INSERT INTO itens (id,nome,qfechado,qsistema,separado) VALUES ('3215','amaciante','6','250','0')");
            bancoDados.execSQL("INSERT INTO itens (id,nome,qfechado,qsistema,separado) VALUES ('544','cloro','12','321','0')");
            bancoDados.execSQL("INSERT INTO itens (id,nome,qfechado,qsistema,separado) VALUES ('264','sabao','20','51','0')");
            bancoDados.execSQL("INSERT INTO itens (id,nome,qfechado,qsistema,separado) VALUES ('231','detergente','24','485','0')");

            cursoritens= bancoDados.rawQuery("SELECT * FROM itens ORDER BY id DESC",null);

            indiceid = cursoritens.getColumnIndex("id");
            indicenome = cursoritens.getColumnIndex("nome");
            indiceqfechado = cursoritens.getColumnIndex("qfechado");
            indiceqsistema = cursoritens.getColumnIndex("qsistema");
            indiceseparado = cursoritens.getColumnIndex("separado");

            contador = 5;

            produtos = new String[contador];
            qtfechado = new int[contador];
            qtnosistema = new int[contador];
            codigoprod = new int[contador];

            contador = 0;

            cursoritens.moveToFirst();
            while (cursoritens != null) {
                produtos[contador] = cursoritens.getString(indicenome);
                codigoprod[contador] = Integer.parseInt(cursoritens.getString(indiceid));
                qtfechado[contador] = Integer.parseInt(cursoritens.getString(indiceqfechado));
                qtnosistema[contador] = Integer.parseInt(cursoritens.getString(indiceqsistema));

                contador++;
                cursoritens.moveToNext();
            }

Tenta isso :


            int contador = 0;

            bancoDados.execSQL("INSERT INTO itens (id,nome,qfechado,qsistema,separado) VALUES ('561','papel','16','321','0')");
            bancoDados.execSQL("INSERT INTO itens (id,nome,qfechado,qsistema,separado) VALUES ('3215','amaciante','6','250','0')");
            bancoDados.execSQL("INSERT INTO itens (id,nome,qfechado,qsistema,separado) VALUES ('544','cloro','12','321','0')");
            bancoDados.execSQL("INSERT INTO itens (id,nome,qfechado,qsistema,separado) VALUES ('264','sabao','20','51','0')");
            bancoDados.execSQL("INSERT INTO itens (id,nome,qfechado,qsistema,separado) VALUES ('231','detergente','24','485','0')");

            cursoritens= bancoDados.rawQuery("SELECT * FROM itens ORDER BY id DESC",null);

            indiceid = cursoritens.getColumnIndex("id");
            indicenome = cursoritens.getColumnIndex("nome");
            indiceqfechado = cursoritens.getColumnIndex("qfechado");
            indiceqsistema = cursoritens.getColumnIndex("qsistema");
            indiceseparado = cursoritens.getColumnIndex("separado");

            contador = 5;

            produtos = new String[contador];
            qtfechado = new int[contador];
            qtnosistema = new int[contador];
            codigoprod = new int[contador];

            contador = 0;


            while (cursoritens.moveToNext()) {
                produtos[contador] = cursoritens.getString(indicenome);
                codigoprod[contador] = Integer.parseInt(cursoritens.getString(indiceid));
                qtfechado[contador] = Integer.parseInt(cursoritens.getString(indiceqfechado));
                qtnosistema[contador] = Integer.parseInt(cursoritens.getString(indiceqsistema));

                contador++;
               
            }

O laço ficaria igual o amigo já respondeu acima:

Cursor cursor = bd.rawQuery("SELECT COLUNA FROM TABELA", null); //Inicia o cursor

while(cursor.movetoNext()) { //Percorre o cursor enquanto houver dados
    //Executa o código necessário
}

cursor.close(); //Fecha o cursor após o uso

Só por curiosidade, porque você não monta um List de produtos no lugar de vários arrays para formar um produto?

Funcionou, Muito obrigado pela ajuda!

inicialmente utilizava apenas o array produtos, porém o app foi crescendo e aumentando a necessidade e com isso aumentando o numero de arrays, em breve irei alterar tudo para uma unica list, obrigado!