Olá SombraVargas.
Baseado no que vc postou, faço uma pergunta: um vez que todo clique nos botões será feita uma pesquisa no BD, do ponto de vista do usuário, será que não pode ficar lento essas rotinas?
Como, a partir do código que vc postou, vc seleciona as mesmas colunas de uma determinada tabela, penso que seria melhor fazer uma navegação off-line, o que deixaria a interação app-usuario mais rápida (dependendo, é claro, de diversos fatores).
Assim, uma sugestão que eu faço seria:
- ter uma Enum para os botões;
- ter uma variável global para controlar o índice de navegação.
- ter uma variável global com a lista resultante da pesquisa no BD.
Na abertura da tela, vc faria a pesquisa no BD uma única vez. O código abaixo leva em consideração a proposta acima, assumindo ‘registros’ como nome da lista, ‘index’ como controle de registros e ‘botoes’ como a Enum.
//variáveis globais
private int index;
private List registros;
private void navega(Botoes botao){
switch (botao){
case PRIMEIRO:
//*1 faz as validações e mensagens necessárias
index = 0;
break;
case ANTERIOR:
// *1
index--;
break;
case PROXIMO:
// *1
index++;
break;
default:
// *1
index = registros.size()-1;
break;
}
txFuncCodigo.setText(registros.get(index).getCodigo());
txFuncNome.setText(registros.get(index).getNome());
}
Espero ter sido claro no que eu disse.
Espero poder ajudar.
Abraços