Problema com Canvas  XML
Índice dos Fóruns » Google Android e Java Micro Edition (ME)
Autor Mensagem
vfmartins
JavaTeenager
[Avatar]

Membro desde: 29/10/2009 16:00:58
Mensagens: 154
Localização: SP
Offline

Pessoal,

fiz uma tela em canvas para meu aplicativo, testei no palm e funcina perfeitamente, mas instalei esse aplicativo em outro aparelho, um nokia 5800, mas nesse aparelho essa tela não funciona corretamente, pois ao clicar em um botão da classe dessa tela ela deve ser redesenhada, mas isso só acontece quando eu saio dela e abro novamente.

Alguem sabe por que isso acontece? Alguem sabe corrigir?


obs. lembrando que num aparelho ta normal e só acontece isso no outro


aguardo sugestões!
obrigado
j0nny
GUJ Master
[Avatar]

Membro desde: 19/09/2009 00:01:57
Mensagens: 1121
Localização: Blumenau - SC
Offline

Posta o código aí.

@jntsdaniel
github.com/jonatasdaniel

---

AndOrm - Framework ORM para Android
http://github.com/jonatasdaniel/andorm
[WWW]
vfmartins
JavaTeenager
[Avatar]

Membro desde: 29/10/2009 16:00:58
Mensagens: 154
Localização: SP
Offline

j0nny wrote:Posta o código aí.



Tem algo errado aqui?



j0nny
GUJ Master
[Avatar]

Membro desde: 19/09/2009 00:01:57
Mensagens: 1121
Localização: Blumenau - SC
Offline

Uma dica, não instancie objetos dentro do paint.
Outra, vc está repintando tbm a tela onde está seu botão?
Isso já ocorreu cmg tbm.

@jntsdaniel
github.com/jonatasdaniel

---

AndOrm - Framework ORM para Android
http://github.com/jonatasdaniel/andorm
[WWW]
vfmartins
JavaTeenager
[Avatar]

Membro desde: 29/10/2009 16:00:58
Mensagens: 154
Localização: SP
Offline

j0nny wrote:Uma dica, não instancie objetos dentro do paint.
Outra, vc está repintando tbm a tela onde está seu botão?
Isso já ocorreu cmg tbm.


sim, como eu disse a tela só é mostrada quando eu saio e entro na classe novamente, mas a ideia é recarregar dentro da propria classe
isso ja funciona no palm da maneira que postei, só nesse outro aparelho que não

o que vc fez para resolver na sua situação?
j0nny
GUJ Master
[Avatar]

Membro desde: 19/09/2009 00:01:57
Mensagens: 1121
Localização: Blumenau - SC
Offline

vfmartins wrote:
j0nny wrote:Uma dica, não instancie objetos dentro do paint.
Outra, vc está repintando tbm a tela onde está seu botão?
Isso já ocorreu cmg tbm.


sim, como eu disse a tela só é mostrada quando eu saio e entro na classe novamente, mas a ideia é recarregar dentro da propria classe
isso ja funciona no palm da maneira que postei, só nesse outro aparelho que não

o que vc fez para resolver na sua situação?


Ok, tente chamar o repaint do seu botão quando vc da um repaint na sua tela, deve funcionar.

@jntsdaniel
github.com/jonatasdaniel

---

AndOrm - Framework ORM para Android
http://github.com/jonatasdaniel/andorm
[WWW]
vfmartins
JavaTeenager
[Avatar]

Membro desde: 29/10/2009 16:00:58
Mensagens: 154
Localização: SP
Offline

j0nny wrote:Ok, tente chamar o repaint do seu botão quando vc da um repaint na sua tela, deve funcionar.


não entendi, o meu código é só isso, tudo junto, o que mudaria se chamar separado?

This message was edited 1 time. Last update was at 08/03/2010 09:44:39

j0nny
GUJ Master
[Avatar]

Membro desde: 19/09/2009 00:01:57
Mensagens: 1121
Localização: Blumenau - SC
Offline

Tente assim...



Não sei se é a melhor solução, mas assim que resolvi meu problema momentaneamente

This message was edited 1 time. Last update was at 08/03/2010 09:50:59


@jntsdaniel
github.com/jonatasdaniel

---

AndOrm - Framework ORM para Android
http://github.com/jonatasdaniel/andorm
[WWW]
vfmartins
JavaTeenager
[Avatar]

Membro desde: 29/10/2009 16:00:58
Mensagens: 154
Localização: SP
Offline

j0nny wrote:Tente assim...



Não sei se é a melhor solução, mas assim que resolvi meu problema momentaneamente


aqui deu erro no buttom.repaint(); deu cannot find symbol

viu, uma coisa que eu reparei testando no aparelho é que ele executa sim ao tocar, mas ele só pinta a tela quando eu executo alguma outra ação qualquer (mesmo que seja algo do aparelho que nem faça parte do aplicativo)

será que é algum bug do aparelho que pinta a tela com atraso ou será que estou fazendo algo errado?

j0nny
GUJ Master
[Avatar]

Membro desde: 19/09/2009 00:01:57
Mensagens: 1121
Localização: Blumenau - SC
Offline

vfmartins wrote:
j0nny wrote:Tente assim...



Não sei se é a melhor solução, mas assim que resolvi meu problema momentaneamente


aqui deu erro no buttom.repaint(); deu cannot find symbol

viu, uma coisa que eu reparei testando no aparelho é que ele executa sim ao tocar, mas ele só pinta a tela quando eu executo alguma outra ação qualquer (mesmo que seja algo do aparelho que nem faça parte do aplicativo)

será que é algum bug do aparelho que pinta a tela com atraso ou será que estou fazendo algo errado?



Então melhor, crie um método repinta() no seu botão que chama o repaint() e teste. Claro que é meio POG , mas teste para ver se é isso msm.

This message was edited 1 time. Last update was at 08/03/2010 10:04:03


@jntsdaniel
github.com/jonatasdaniel

---

AndOrm - Framework ORM para Android
http://github.com/jonatasdaniel/andorm
[WWW]
vfmartins
JavaTeenager
[Avatar]

Membro desde: 29/10/2009 16:00:58
Mensagens: 154
Localização: SP
Offline

j0nny wrote:Então melhor, crie um método repinta() no seu botão que chama o repaint() e teste. Claro que é meio POG , mas teste para ver se é isso msm.


eu tentei isso, mas nem assim deu certo
eu verifiquei que isso também acontece quando uma tela canvas de uma classe chama uma outra tela canvas de outra classe
o que pode ser ein?
j0nny
GUJ Master
[Avatar]

Membro desde: 19/09/2009 00:01:57
Mensagens: 1121
Localização: Blumenau - SC
Offline

É estranho, pq aqui faço o seguinte.
No meu form canvas, no pointerPressed(), verifico se a área de algum dos comopnentes foi tocada, se foi, então repasso o pointerPressed() para o componente, então ele se encarrega de fazer a ação que quiser e dar um repaint() nele.
No caso seria mais ou menos assim.


@jntsdaniel
github.com/jonatasdaniel

---

AndOrm - Framework ORM para Android
http://github.com/jonatasdaniel/andorm
[WWW]
vfmartins
JavaTeenager
[Avatar]

Membro desde: 29/10/2009 16:00:58
Mensagens: 154
Localização: SP
Offline

cara, mesma coisa!

o teu código tbm funciona, mas não da maneira que eu preciso
das duas formas a tela só é pintada após alguma outra ação no aparelho
e agora?? alguém sabe o que eu faço para pintar a tela no ato?

continuo aguardado
j0nny
GUJ Master
[Avatar]

Membro desde: 19/09/2009 00:01:57
Mensagens: 1121
Localização: Blumenau - SC
Offline

Cara, nem tinha me tocado, mas observe, cada vez que vc chamar o repaint(), um novo botao será criado, é isso mesmo que vc quer?
Creio que assim não pode funcionar mesmo.

@jntsdaniel
github.com/jonatasdaniel

---

AndOrm - Framework ORM para Android
http://github.com/jonatasdaniel/andorm
[WWW]
vfmartins
JavaTeenager
[Avatar]

Membro desde: 29/10/2009 16:00:58
Mensagens: 154
Localização: SP
Offline

j0nny wrote:Cara, nem tinha me tocado, mas observe, cada vez que vc chamar o repaint(), um novo botao será criado, é isso mesmo que vc quer?
Creio que assim não pode funcionar mesmo.


então, a intenção é que ao clicar nesse botão o usuário tenha a sensação que ele mudou de cor, mas na verdade pinta novamente a tela e no lugar daquela imagem vai uma de outra cor (eu percebi que ele faz isso, mas com atraso, pois quando eu clico a primeira vez visualmente não faz nada, mas quando eu clico a segunda eu vejo ele executar a primeira ação, entende?)

vc tem alguma sugestão??

alguém tem??
 
Índice dos Fóruns » Google Android e Java Micro Edition (ME)
Ir para:   
Powered by JForum 2.1.8 © JForum Team