Problemas com o Editar

Pessoal na hora que escolha a opçao ditar no emulador acontece o seguite: no campo tfConta esta correto vai so o resisto correspontente a conta, porem nos campos tfLogin e tfSnha esta indo dois resistros, que era na verda pra ir somente o resistro correspondete a cada campo como faço isso?

} else if (command == cmEditar) { // se for chamado o comado editar altere os dados novo = false; String EditarCampos = lstNomes.getString(lstNomes.getSelectedIndex()); tfConta.setString(EditarCampos.substring(0, EditarCampos.indexOf("-") - 1)); tfLogin.setString(EditarCampos.substring(EditarCampos.indexOf("-") + 2)); tfSenha.setString(EditarCampos.substring(EditarCampos.indexOf("-") + 1)); alteraDado(); switchDisplayable(null, fmNovo);[code]
Nesse forme tem tres campos tfConta,tfLogin,tfSenha, com faço para na que escolher o camondo edital ele levar para cada CampodeTexto somente aqule resistro equivalente a ele?