Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

mrodriguez

Duvida em HasMap

Mensagens Recomendadas

mrodriguez    0
mrodriguez

Ora,

Tenho um ArrayList de HashMap, Dois Monumentos, e

ArrayList<HashMap<String, String>> monumentos;

m1 = new Monumento("Ponte Pedro e Inês", Integer.toString(R.drawable.ponte_p_i),getString(R.string.Ponte_P_I_lista), Integer.toString(R.drawable.iconnot));
		m2 = new Monumento("Jardim das Lágrimas", Integer.toString(R.drawable.jardim_lagrimas), getString(R.string.Jardim_Lagrimas_lista), Integer.toString(R.drawable.iconnot));

E uma funçao para adicionar esses mesmo monumentos,

public void adicionaMonumentos(Monumento m){
	   monument = new HashMap<String, String>();

	   
       monument.put("Titulo", m.getTitulo());
       monument.put("Descricao", m.getDescricao());
       monument.put("Imagem", m.getImagem());
       monument.put("CheckIMG", m.getCheckImage());
       monumentos.add(monument);
}	

A minha duvida é o seguinte:

Como faço para modificar um valor num monumento em especifico, por exemplo mudar o CheckIMG de um monumento?

Tenho também implementada a classe Monumento com os métodos set and get.

Penso que seja parecido com isto, mas deve estar a faltar-me algo...

	monumentos.set(0, monument.get("Jardim Das Lagrimas"));

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
KTachyon    272
KTachyon

Vais buscar o HashMap ao ArrayList e alteras o valor:

HashMap<String, String> monument = monumentos.get(x);
monument.put("CheckIMG", y);

Mas a tua classe Monumento deveria servir para alguma coisa semelhante...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
mrodriguez    0
mrodriguez

É isso.

Mas usando a classe Monumento, teria de fazer:

m1.setCheckImage(Integer.toString(R.drawable.checkicon));

Agora como altero este monumento no ArrayList monumentos?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
KTachyon    272
KTachyon

Não estou a perceber a tua dúvida. Tu tens um ArrayList de HashMaps, que me parece que representam as características de um objecto Monumento. Se queres ter um ArrayList de monumentos, tens que dizer que é um ArrayList de monumentos:

ArrayList<Monumento> monumentos;

E para alterares o que quer que seja num monumento dessa ArrayList, só tens que chamar o método sobre o objecto:

monumentos.get(x).setCheckImage(y);

Ou mesmo:

Monumento m = monumentos.get(x);
m.setCheckImage(y);

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
mrodriguez    0
mrodriguez

Eu tenho um

ArrayList<HashMap<String, String>> monumentos;

Não posso ter um ArrayList<Monumentos> pois o que estou a fazer não o permite.

Depois tenho o tal

HashMap<String, String> monument;

Crio os dois monumentos, coloco no hashmap e depois adiciona ao arrayList.

A minha dúvida está em aceder ao monumento propriamente dito através do arrayList e alterar uma variavel do monumento.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
mrodriguez    0
mrodriguez

Já encontrei a solução.

O que pretendia era simples:

monumentos.get(1).put("CheckIMG", Integer.toString(R.drawable.checkicon));

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade