Estou com um problema… Preciso chamar um toast de fora da classe que herda a Activity, mas não estou conseguindo e não entendo o que esta acontecendo. Para tal:
1- Inicio o contexto da Activity em onCreate
2- Crio uma surface view e a seto como contentView
3- Crio um método getContexto(), o qual retorna this
4- Chamo o toast, passando no primeiro parâmetro getContexto()…
já fiz vários testes e o toast só é exibido sem dar break na aplicação se eu chamar o makeText de dentro da classe filha de Activity.
Já tentei declarar um Context como static na outra classe e definí-lo a partir de onCreate, enfim… Tudo me faz trazer a questão se é possível chamar um Toast de fora da classe principal da aplicação…
Alguém ja conseguiu implementar um toast de fora da classe?
Tem um jeito sim, você passando uma activity como parâmetro em um metodo.
public static void gerarToast(Activity tela, CharSequence message) {
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(tela.getApplicationContext(), message, duration);
toast.show();
}
V
Valeio_Bezerra
Você tá chamando o toast com uma Thread rodando ?
R
Rafagan_Abreu
Oi pessoal…
Obrigado pelas respostas
Vamos lá:
1- Lina, como funciona esse runOnUithread?
2- Valério, seu código é o que eu já ando fazendo, e sim, estou chamando toast numa thread separada para o desenho, que não é a mesma da Activity. Aliás, pode ser esse o grande equívoco. Como eu poderia capturar o valor do Contexto da Activity principal e usar na thread? receber como parâmentro já vimos que não conta…
L
lina
Rafagan Abreu:
Oi pessoal…
Obrigado pelas respostas
Vamos lá:
1- Lina, como funciona esse runOnUithread?
Oi,
Apesar de postar aqui, eu nunca usei essa opção. Pelo que li na documentação (API) o use de runOnUiThread forçará um update direto na Thread-Ui de sua Activity.
Logo, pode ser que funcione.
Tchauzin!
V
Valeio_Bezerra
Então, o problema está aí, quando está em uma Thread você tem que chamar o método através de um handler, aconteceu o mesmo comigo.
Estarei testando sua solução em breve e postando aqui o resultado…
Estou iniciando no mundo das Threads agora, e é bom saber desses problemas pra evitar no futuro.
Obrigado mesmo pessoal!
V
Valeio_Bezerra
eu também cara, tive muita dificuldade com isso hehehe.
L
lina
Oi,
Tipo, testei aqui e minha solução dá certo…
Tchauzin!
R
Rafagan_Abreu
Lina, é o seguinte...
Estou na thread e quero chamar o método da activity: