Babby
Fevereiro 5, 2009, 12:13pm
#1
ola galera
sou iniciante em jme e
estou com um problema
tenho varias inforamacoes em uma lista
e quero apagar apenas uma mas quando mando
apagar (o item selecionado) ele apaga a lista toda
sera que alguem pode me ajudar ??
private void deletar() {
try{
int indice = list.getSelectedIndex();
rs.deleteRecord(Integer.parseInt(vetIds.elementAt(indice).toString()));
}
catch(Exception erro){
System.out.println(“nao foi possivel deletar o registro”);
}
}
E vc esta tentando apagar um registro no RecordStore do celular ou na list?
O post nao ficou claro.
Mas pelo codigo que vc esta mostrando eh no recordstore.
Babby
Fevereiro 5, 2009, 12:38pm
#3
sim, é no RecordStore que eu quero apagar
mas quando eu quero apagar apenas um
ele apaga a lista toda
vc sabe o q esta de errado no meu codigo?
Sim.
Pq na hr de gravar vc deve ter gravado todos os bytes no mesmo lugar do RecordStore.
RecordStore eh uma chatisse e complicacado.
Kd seu metodo grava?
Babby
Fevereiro 5, 2009, 12:45pm
#5
public void insereDado(){
try{
ByteArrayOutputStream bStream = new ByteArrayOutputStream();
DataOutputStream dStream = new DataOutputStream(bStream);
dStream.writeUTF(tfNome.getString());
dStream.writeUTF(tfFone.getString());
dStream.writeUTF(tfIdade.getString());
dStream.writeUTF(tfProfissao.getString());
dStream.flush();
byte[] dados = bStream.toByteArray();
rs.addRecord(dados, 0, dados.length);
bStream.close();
dStream.close();
}
catch(Exception erro){
System.out.println("Erro ao inserir dados...");
}
}
o metodo q grava e esse
nao sei se ta certo…
A confusao logica eh o seguinte. Aposto que na sua classe ai de persistencia vc fez isso aqui.
RecordStore recordStore = RecordStore.openRecordStore(nome, true);
Dai, vc foi no metodo grava, nesse unico recordStore e deu addRecord.
So qi UM recordStore eh uma colecao de bytes.
Logo, qndo vc deu deleteRecord e um ID, vc deletou O recordStore com todos os seus bytes.
Para funcionar do jeito que vc quer, vc tem que abrir um recordStore pra cada registro ou
Abra o recordStore
Recupere os dados dele
Para cada dado que vc quer deletar vc marca uma flag nele e pode gravar por cima.
Eh um controle mto chato de fazer.
Mas o seu erro ai eh isso.
Babby
Fevereiro 5, 2009, 1:31pm
#7
ok… vou tentar entender como fazer
obrigado pela ajuda
pelo menos agora eu sei
o que e que esta errado…
Já tentasse usar o Floggy ??
Um abraco!
Babby
Fevereiro 6, 2009, 8:39am
#9
Nao, infelismente nao,…
mas assisti a uma palestra sua sobre isso
no ano passado e
achei muito interessante.
Pra mim ne chato nao hehehe…
Eu ja fiz meu framework com classe de util para RMS entao eh facil…
Mas pra quem ta comecando pegar Floggy nunca + volta pra RMS
Babby
Fevereiro 6, 2009, 3:26pm
#11
axo que vou tentar com floggy…