Cursores, ListView, pegar posicao apos filtro e exibir o proximo da lista

Boa tarde caros =]

Tenho um cursor onde carrega uma lista de pessoas e exibe em um listView pra mim ordenado por nome, qndo eu clico em um dos nomes da lista abre uma tela de edição. E na tela de edicao tenho um botao onde eu clico e vai para o proximo registro com base na ordem do cursor do meu listView, para isso eu uso o cursor.moveToNext(); ate ai ok.

O meu problema é, qndo eu to na lista eu tenho um submenu que “filtra” a minha lista pelo nome, por exemplo aqui esta minha lista:

1 - Joao
2 - Maria
3 - Paulo
4 - Pedro
5 - Zeca

Essa acima é minha lista sem filtro, qndo eu clico na maria abre a tela de edicao com os dados de “maria”, e se eu clicar no botao “proximo” exibe os dados de “Paulo”.

Porem se eu filtrar pelo nome “Paulo”, minha lista ficaria assim:

3 - Paulo

Clico sobre o nome dele e abre a tela de edição, pra mim ir para o proximo de acordo com a ordem da minha lista eu fiz uma “adaptação tecnologica” rs, q eu nao to gostando muito, gostaria de saber se existe uma maneira mais certa de se fazer isso.

A maneira que eu fiz foi assim, se ele filtrou por nome eu seto um valor em uma “flag” ai eu verifico, ai eu pego o primeiro registro do cursor e vou comparando com o ID do “Paulo”.

Agradeço se alguem puder me ajudar .