Problema com cursor, pegar posição

0 respostas
douglascst90

Olá pessoal, tudo bem?

Venho aqui pedir ajuda de vocês.

Vou tentar explicar a minha situação.

Tenho uma lista na minha app que lista os meu clientes ordenada pelo campo "sequencia", e quando clico em um deles na lista ele abre uma tela de "cadastro" e seta os atributos dele nos campos, e nessa tela existe um botão no qual eu clico e ele passa para o próximo cliente, ate ai tudo ok.

Essa paginação eu uso o cursor do android, pego a posição atual do cliente na lista e faço o meu cursor mover para a proxima posição da minha sequencia, usando o moveToNext();

Isso ta ok, mas agora eu encontrei um problema.

Fiz um filtro na lista no qual ele digita o nome do cliente e mostra os cliente com aquele nome q ele digitou. Ai entao ele escolhe qual cliente ele quer e clica sobre ele e abre a tela de "cadastro".

O problema é, que eu nao sei como eu posso fazer para ele continuar a sequencia.
Posso tentar melhorar o meu exemplo:

Tenho uma lista ordenada pela sequencia:
Lista:
1-jose
2-joao
4-paulo
5-maria
6-joao marcos

Se eu nao fizer o filtro pelo nome e clicar na posição (4-paulo) ele abre a tela de cadastro com os dados do paulo, e caso eu clicar para ir no proximo ele exibe os dados da maria e assim por diante.

Agora se eu filtrar por nome, por exeplo, vou filtrar a lista pelo nome "joao":
Lista:
1-joao
2-joao marcos

se eu clicar no "joao" ele abre a tela de cadastro td certinho, porem se eu clicar no botao proximo ele deveria ir para o "paulo", que é a order da minha "sequencia".

Aqui segue o meu cursor.
public Cursor cursor() {

        try {

            cursor = aguaApp
                    .getDataManager()
                    .getDatabase()
                    .query(TB_CONTRIBUINTE,
                            new String[] { "CON_CODIGO", "CON_SEQUENCIA",
                                    "CON_PROPRIETARIO", "CON_HIDROMETRO",
                                    "CON_COD_ENDERECO", "CON_NOME",
                                    "CON_NUMERO", "CON_LEITURA_NOVA",
                                    "CON_ATUAL", "CON_CONSUMO", "CON_OCO_ID", },
                            null, null, null, null, "CON_SEQUENCIA ASC");

            CON_CODIGO = cursor.getColumnIndex("CON_CODIGO");
            CON_SEQUENCIA = cursor.getColumnIndex("CON_SEQUENCIA");
            CON_NOME_PROP = cursor.getColumnIndex("CON_PROPRIETARIO");
            CON_HIDROMETRO = cursor.getColumnIndex("CON_HIDROMETRO");
            CON_COD_END = cursor.getColumnIndex("CON_COD_ENDERECO");
            CON_NOME = cursor.getColumnIndex("CON_NOME");
            CON_NUMERO = cursor.getColumnIndex("CON_NUMERO");
            CON_ATUAL = cursor.getColumnIndex("CON_ATUAL");
            CON_LEITURA_NOVA = cursor.getColumnIndex("CON_LEITURA_NOVA");
            CON_CONSUMO = cursor.getColumnIndex("CON_CONSUMO");
            CON_OCORRENCIA = cursor.getColumnIndex("CON_OCO_ID");

            int numeroRegistros = cursor.getCount();

            if (numeroRegistros != 0) {

                cursor.moveToPosition(ClasseAuxiliar.getPosicao());
                
            }

            return null;

        } catch (Exception e) {
            System.out.println("ERRO " + e.getMessage() + ", Causa: "
                    + e.getCause());
           
            return null;
        }

    }

Sei que esse cursor que eu fiz nao funciona com o filtro msm, por isso estou colocando-o aqui, para que vcs possam ver como estou fazendo sem usar o filtro.

Agradeço muito se alguem puder colaborar comigo! :mrgreen:

Criado 27 de agosto de 2012
Respostas 0
Participantes 1